欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Matalab类定义

发布时间:2024/10/14 编程问答 17 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Matalab类定义 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Matlab类定义

Matlab自学笔记(2)


文章目录

  • Matlab类定义
  • 前言
  • 1、类定义
  • 2、classdef定义块
  • 3、属性定义块
    • 3.1 属性特性 Attributes
  • 4、方法
  • 5、事件
  • 6、枚举


前言

类是一种数据类型,与普通的数据类型不同的是类不仅包含数据,还包含对数据的操作,类把数据和数据操作方法封装在一起,作为一个整体参与程序的运行。


提示:以下是本篇文章正文内容,下面案例可供参考

1、类定义

classdef是类定义关键字,其语法为

classdef … end

完整示例如下,

classdef (Attributes) ClassName < SuperclassName %开始类定义properties (Attributes) %开始属性定义块PropertyNamePropertyName size class {validation functions}end %终止属性定义块methods (Attributes) %开始方法定义块function obj = methodName(obj,arg2,...)...endend %开始方法定义块events (Attributes) %开始事件定义块EventNameend %开始事件定义块end %中止类定义classdef (Attributes) ClassName < SuperclassName %开始类定义enumeration %开始枚举定义EnumNameend %中止枚举定义end %中止类定义

properties、methods、events 和 enumeration 也是 MATLAB® 函数的名称,这些函数用于查询给定对象或类名称的各个类成员。

2、classdef定义块

classdef是用来定义matlab类的关键字。
classdef ClassName,是类定义的开始,只有空白行和注释可以位于classdef的前面。
end,用来终止classdef块。

类定义要保存在与类名称相同的文件中(文件拓展名为.m)。

类名称要以字母开头,可以包含字母、数字或下划线。

classdef ClassName < SuperclassName1 & SuperclassName2 ...%开始类定义并指定一个或多个超类classdef (AttributeName1 = attributevalue, AttributeName2 = attributevalue, ...) ClassName%开始类定义并制定类属性(可选)

类定义文件可以位于 MATLAB 路径上的文件夹中,也可以位于父文件夹在 MATLAB 路径上的类文件夹中。类文件夹名称以 ‘@’ 字符开始,后跟类名称(例如 @MyClass)。

3、属性定义块

properties (Attributes) %开始属性定义块PropertyNamePropertyName size class {validation functions} end %终止属性定义块

类定义可以包含多个属性定义块,每个块指定不同的属性设置,这些设置适用于该特定块中的属性。

注意:属性不能与类使用相同的名称。

3.1 属性特性 Attributes

属性特性的目的

在类定义中指定特性使您能够为特定目的自定义属性的行为。通过设置特性来控制属性的特征,例如访问权限、数据存储和可见性。子类不继承超类成员特性。

指定属性特性

在 properties 关键字的同一行为属性特性赋值:

properties (Attribute1 = value1, Attribute2 = value2,...)...end

例如,对 Data 属性给予 private 访问权限:

properties (Access = private)Dataend

属性特性表

特性值

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

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

  • 将 SSNumber 和 CreditCardNumber 属性的 Hidden 特性设置为 true,将 SetAccess 特性设置为 private。

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

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

4、方法

methods, 开始方法定义块;
end 关键字终止 methods 块。
此块包含实现类方法的函数。
类定义可以包含多个方法块,每个块指定不同的属性设置,这些设置适用于该特定块中的方法。可以在单独的文件中定义方法函数。

5、事件

events 开始事件定义块,end 关键字终止 events 块。
此块包含类定义的事件名称。
类定义可以包含多个事件块,每个块指定不同的属性设置,这些设置适用于该特定块中的事件。

6、枚举

enumeration 开始枚举定义块,end 关键字终止 enumeration 块。

总结

以上是生活随笔为你收集整理的Matalab类定义的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。