目录
属性 get 方法
属性访问方法概述
有关属性访问方法的概述,可以参考属性访问方法。
属性 get 方法语法
每当查询属性值时,MATLAB® 都会调用属性的 get 方法。
注意:不能直接调用属性访问方法。MATLAB 会在访问属性值时调用这些方法。
属性 get 方法使用以下语法,其中 PropertyName 是属性的名称。函数必须返回属性值。
methods
function value = get.PropertyName(obj)
...
end
计算从属属性的值
SquareArea类定义了一个从属属性 Area。MATLAB 不存储从属属性 Area 的值。当查询Area属性的值时,MATLAB 调用get.Area方法,根据Width和Height属性来计算它的值。
classdef SquareArea
properties
Width
Height
end
properties (Dependent)
Area
end
methods
function a = get.Area(obj)
a = obj.Width * obj.Height;
end
end
end
get 方法不返回错误
MATLAB 默认对象显示会禁止显示从属性 get 方法返回的错误消息。MATLAB 不允许属性 get 方法发出的错误阻止整个对象的显示。
请使用属性set方法来验证属性值。在设置属性时对其值进行验证可确保对象处于有效状态。仅在要返回经 set 方法验证过的值时再使用属性 get 方法。
get 方法行为
在以下情况下,MATLAB 不调用属性 get 方法:
-
从属性自己的 get 方法中获取属性值。这样可避免对 get 方法的递归调用
-
复制值对象(即,不从handle类派生)时。将属性值从一个对象复制到另一个对象时,既不调用set方法也不调用get方法。