Matlab中属性 get 方法的使用

目录

属性 get 方法

属性访问方法概述

属性 get 方法语法

计算从属属性的值

get 方法不返回错误

get 方法行为

相关主题


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

上一篇:[量化-027]段永平投资哲学整理


下一篇:【Java】BigDecimal类的使用