Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

类属性

指定类属性

所有类都支持下表中列出的属性。属性使您能够修改类的行为。属性值应用于 classdef 代码块中定义的类。

classdef (Attribute1 = value1, Attribute2 = value2,...) ClassName
   ...
end

类属性

特性名称

描述

Abstract

logical

(默认值为 false

如果指定为 true,则此类为抽象类(无法实例化)。

有关详细信息,请参阅抽象类和类成员

AllowedSubclasses

meta.class 对象或 meta.class 对象的元胞数组

列出可以从该类派生的子类。采用以下形式将子类指定为 meta.class 对象:

  • 单个 meta.class 对象

  • meta.class 对象元胞数组。空元胞数组 {}Sealed 类相同(没有子类)。

仅使用 ?ClassName 语法指定 meta.class 对象。

有关详细信息,请参阅Specify Allowed Subclasses

ConstructOnLoad

logical

(默认值为 false

如果为 true,MATLAB® 将在从 MAT 文件加载对象时自动调用类构造函数。用此属性定义的类必须有一个不带参数的构造函数。

有关详细信息,请参阅Initialize Objects When Loading

HandleCompatible

logical

(默认值为 false)(对于值类)

如果指定为 true,此类可以用作句柄类的超类。根据定义,所有句柄类均为 HandleCompatible。有关详细信息,请参阅Handle Compatible Classes

Hidden

logical

(默认值为 false

如果为 true,此类不会出现在 superclasseshelp 函数的输出中。

InferiorClasses

meta.class 对象或 meta.class 对象的元胞数组

使用此属性在类之间建立优先关系。使用 ? 运算符指定 meta.class 对象的元胞数组。

基础类的优先级始终低于用户定义的类,并且不会出现在此列表中。

请参阅Class Precedence

Sealed

logical

(默认值为 false

如果为 true,则无法对此类进行子类化。

框架特性

使用特定框架基类的类具有特定于框架的特性。有关这些特性的信息,请参阅您正在使用的特定基类的文档。

指定属性

类成员的属性由 classdefpropertiesmethodsevents 定义代码块指定。具体的属性设置应用于该特定代码块中定义的所有成员。您可以使用多个 propertiesmethodsevents 定义代码块,对不同类成员应用不同属性设置。

超类属性值不会被继承

类属性设置不会被继承,因此超类属性值不影响子类。

特性语法

在圆括号中指定类属性值,用逗号分隔每个属性名称/属性值对组。属性列表始终跟随在 classdef 或类成员关键字之后,如下所示:

classdef (attribute-name = expression, ...) ClassName

   properties (attribute-name = expression, ...)
      ...
   end
   methods (attribute-name = expression, ...)
      ...
   end
   events (attribute-name = expression, ...)
      ...
   end
end

特定于类的属性

一些 MATLAB 类定义附加属性,这些属性只能用于定义这些属性的类层次结构。有关这些类支持的附加属性的信息,请参阅您正在使用的类的相关文档。

相关主题