Main Content

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

类设计中的方法

类方法

方法是一些函数,用于实现对类的对象执行一些操作。方法及其他类成员均支持封装的概念 - 通过类实例在属性中包含数据,再通过类方法对这些数据进行操作。这种设计允许对类外部的代码隐藏类的内部工作,这样,对类实现做任何更改便不会影响到类外部的代码。

方法可以访问其类的私有成员,包括其他方法和属性。这种封装使您能够隐藏数据并创建一些特殊接口,专门用来访问存储在对象中的数据。

示例和语法

有关如何编写类的入门示例,请参阅创建简单类

有关示例代码和语法,请参阅定义类方法和函数

有关如何创建修改标准 MATLAB® 行为的类的讨论,请参阅 Methods That Modify Default Behavior

有关使用 @ 和路径目录以及包来组织类文件的信息,请参阅类文件和文件夹

有关在多个文件中定义类时使用的语法,请参阅在单独文件中定义方法

方法的种类

方法可分为几种专门的类别,它们可以执行特定功能或具有特定的行为:

  • 普通方法:作用于一个或多个对象并返回一些新对象或一些计算值的函数。这些方法就像普通的 MATLAB 函数一样,无法修改输入参数。普通方法使类能够实现算术运算符和计算函数。这些方法需要依托类对象来执行操作。请参阅Ordinary Methods

  • 构造函数方法:创建类的对象的特化方法。构造函数方法必须与类同名,并且通常使用从输入参数获取的数据初始化属性值。类构造函数方法必须声明至少一个输出参数,即正在构造的对象。第一个输出始终是正在构造的对象。请参阅类构造函数方法

  • 析构函数方法:当对象被销毁时(例如,如果您调用 delete(object),或者不再有对该对象的任何引用),会自动调用此方法。请参阅句柄类析构函数

  • 属性访问方法:使类能够定义在查询或设置属性值时要执行的代码的方法。请参阅属性访问方法

  • 静态方法:与类相关联,但不一定对类对象进行操作的函数。这些方法不要求在调用方法期间引用类的实例,但通常以特定于类的方式执行操作。请参阅静态方法

  • 转换方法:来自其他类的重载构造函数方法,使您的类能够将其自己的对象转换为重载构造函数的类。例如,如果您的类实现了一个 double 方法,则可调用此方法(而不是 double 类构造函数)来将您的类对象转换为 MATLAB double 对象。有关详细信息,请参阅Object Converters

  • 抽象方法:用来定义不能通过自身进行实例化,但可用来定义公共接口,供许多子类使用的类。包含抽象方法的类通常称为接口。有关详细信息和示例,请参阅抽象类和类成员

方法命名

实现方法的函数的名称可以包含圆点(例如,set.PropertyName),但仅限以下方法:

您不能将属性访问或转换方法定义为局部函数、嵌套函数,也不能在它们自己的文件中单独定义。类构造函数和以包为作用域的函数必须在函数定义中使用非限定名称;不要在函数定义语句中包含包名称。

相关主题