Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

特性设定

特性语法

特性可修改类和类组件(属性、方法和事件)的行为。特性使您能够定义有用的行为,而无需编写复杂的代码。例如,您可以通过将属性的 SetAccess 特性设置为 private,但将其 GetAccess 特性保留为 public 来创建只读属性:

properties (SetAccess = private)
   ScreenSize = getScreenSize
end

所有类定义代码块(classdefpropertiesmethodsevents)都支持特定特性。所有特性都有默认值。请仅在希望从默认值更改为另一个预定义值的情况下指定特性值。

注意

在任何组件代码块中,都请仅指定一次特定特性值。

特性说明

有关受支持的特性的列表,请参阅:

特性值

指定特性值时,这些值会影响在定义代码块中定义的所有组件。例如,以下属性定义代码块会进行如下设置:

  • AccountBalance 属性的 SetObservable 特性设置为 true

  • SSNumberCreditCardNumber 属性的 Hidden 特性设置为 true,将 SetAccess 特性设置为 private

用不同的特性设置定义属性需要多个 properties 代码块。

properties (SetObservable = true) 
   AccountBalance
end
properties (SetAccess = private, Hidden = true)
   SSNumber
   CreditCardNumber
end

在以逗号分隔的列表中指定多个特性,如前面的示例所示。

指定类特性时,请将特性列表直接放在 classdef 关键字后:

classdef (AttributeName = attributeValue) ClassName
   ...
end

更简单的 true/false 特性语法

对于值为 truefalse 的特性,您可以使用一种更简单的语法 - 特性名称本身表示 true,在名称中添加 not 运算符 (~) 表示 false。例如:

methods (Static)
   ...
end

与下列语句等效:

methods (Static = true)
   ...
end

在属性名称前使用 not 运算符将其定义为 false

methods (~Static) 
   ...
end

与下列语句等效:

methods (Static = false)
   ...
end

所有采用逻辑值的特性(即 truefalse)的默认值均为 false。因此,仅当您要将特性设置为 true 时,才需要指定特性。

相关主题