主要内容

组件类的

类的构建块

MATLAB®类定义代码组织到模块,使用关键词。所有关键字都有一个相关联的结束声明:

  • classdef结束……——所有类组件的定义

  • 属性结束……——声明属性名称、规格的财产属性,赋值的默认值

  • 方法结束……-方法签名的声明,方法属性和函数的代码

  • 事件结束……——声明的事件名称和属性

  • 枚举结束……——枚举成员的声明和枚举类的枚举值

属性,方法,事件,枚举关键字只有在吗classdef块。

类定义块

classdef块包含类定义在一个文件开始的classdef关键字和终止结束关键字。

classdef(ClassAttributes)类名称<超类结束

例如,这个classdef定义了一个类MyClass子类的处理类。类也定义为密封的,所以你不能使用这个类继承。

classdef(密封)MyClass <处理结束

看到classdef更多的语法信息。

属性块

一个属性块包含属性定义,包括可选的初始值。使用一个单独的块,每个独特的属性规范。每个属性块的开始属性关键字和终止结束关键字。

属性(PropertyAttributes)PropertyName大小{验证器}=DefaultValue结束

例如,这个类定义了一个私人财产Prop1类型的有一个默认值。

classdefMyClass属性(SetAccess =私人)Prop1= 12结束结束

看到属性定义为更多的信息。

方法阻止

一个方法块包含函数定义的类方法。使用一个单独的块,每个独特的属性规范。每个方法块的开始方法关键字和终止结束关键字。

方法(MethodAttributes)函数obj =MethodName(__arg1、…)…结束

例如,这个类定义了一个受保护的方法MyMethod

classdefMyClass方法(访问=保护)函数__arg1 obj = myMethod (obj)结束结束结束

看到定义类方法和功能为更多的信息。

MATLAB c++和Java等语言的不同®在这个特殊的隐藏的类对象传递给所有的方法。你必须通过一个对象类的显式方法。

使用MyClass例子中,调用MyMethod使用对象obj类和函数或点的语法:

obj = MyClass;r = MyMethod (obj __arg1);r = obj.MyMethod (__arg1);

有关更多信息,请参见方法调用

事件块

事件块(每个独特的属性规范)包含这个类声明的事件的名称。的事件块从事件关键字和终止结束关键字。

classdef类名称事件(EventAttributes)EventName结束……结束

例如,这个类定义了一个事件StateChangeListenAccess设置为受保护的

classdefEventSource事件statechange (ListenAccess =保护)结束结束

看到事件为更多的信息。

属性说明

属性语法

修改类和类组件的行为属性(属性、方法和事件)。属性使您能够定义有用的行为而无需编写复杂的代码。例如,您可以创建一个设置其只读属性SetAccess属性来私人但离开它GetAccess属性设置为公开。

属性拉(SetAccess =私人)= getScreenSize结束

所有类定义块(classdef,属性,方法,事件)支万博1manbetx持特定的属性。所有属性的默认值。指定属性值只有在这种情况下,你想要改变默认值。

请注意

指定一个特定的属性的值只有一次在任何组件块中。

属性描述

支持的属性列表,请参阅:万博1manbetx

属性值

当你指定属性的值,这些值影响定义块中定义的所有组件。定义属性具有不同属性的设置需要多个属性块。在一个逗号分隔的列表中指定多个属性。

AccountBalance属性(SetObservable = true)结束属性(隐藏SetAccess =私人= true) SSNumber long CreditCardNumber结束

简单的语法真正的/属性

您可以使用一个简单的语法属性的值真正的。属性名称就意味着真正的和添加not操作符(~)名称所暗示的假的。例如,这些两种方式定义一个静态方法是等价的。

方法(静态)结束方法(静态= true)结束

同样,这三个方法定义一个非静态的方法阻止是等价的。所有属性,一个逻辑值的默认值,所以你可以省略属性默认行为。

方法结束~方法(静态)结束方法(静态= false)结束

枚举类

枚举类专业类,定义一组固定的名称代表一个类型的值。枚举类使用一个枚举块包含定义的枚举成员的类。

从枚举的块枚举关键字和终止结束关键字。

classdef类名称<超类枚举EnumerationMember结束……结束

例如,这个类定义了两个枚举成员,表示逻辑值真正的

classdef布尔<逻辑枚举否(0)是(1)结束结束

看到定义枚举类为更多的信息。

相关信息

创建一个简单的类

文件夹包含类定义