属性 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 方法。