Main Content

使用属性的方式

什么是属性

属性对属于类实例的数据进行封装。属性中包含的数据可以是公共的、受保护的或私有的。这些数据可以是一组固定的常量值,也可以依赖于其他值,并且仅在查询时计算。要控制属性行为的以上方面,您可以设置属性特性,定义特定于属性的访问方法。

对象属性的灵活性

在某些方面,属性就像 struct 对象的字段。然而,在对象属性中存储数据提供了更大的灵活性。属性可以:

有关定义和使用类的类示例,请参阅创建简单类

属性的类型

属性有两种类型:

  • 存储属性 - 占用内存,并且是对象的一部分

  • 从属属性 - 不占用内存,get 访问方法会在查询时计算其属性值

存储属性的特征

  • 当您将对象保存到 MAT 文件时,属性值也被存储

  • 可以在类定义中为其指定默认值

  • 可以将属性值限制为特定的类和大小

  • 可以执行验证函数来控制允许的属性值(默认值和所赋的值)

  • 设置时可以使用 set 访问方法来控制可能的值

何时使用存储属性

  • 需要将属性值保存在 MAT 文件中

  • 属性值不依赖于其他属性值

从属属性的特征

从属属性节省内存,因为依赖于其他值的属性值仅在需要时才计算。

何时使用从属属性

如果您要执行以下操作,请将属性定义为从属属性:

  • 根据其他值计算属性值(例如,您可以根据 WidthHeight 属性计算面积)。

  • 提供一个格式随其他值变化的值。例如,普通按钮的大小值由其 Units 属性的当前设置决定。

  • 提供一个标准接口,根据其他值决定是否使用其中某一属性。例如,视计算机平台不同,工具栏上可以具有不同组件。

有关使用从属属性的类的示例,请参阅按需计算数据A Class Hierarchy for Heterogeneous Arrays

相关主题