文章目录

  • 1. 语法
  • 2. 说明
    • 2.1 classdef 代码块
      • 2.1.1 ClassAttributes
      • 2.1.2 SuperClass
    • 2.2 Properties 代码块
    • 2.3 Methods 代码块
    • 2.4 Events 代码块
    • 2.5 Enumeration 类

在 Matlab 中定义一个名为 classname 类,需要在类名之前用 classdef 关键字来声明,并以 end 结束类的定义。classdef 语句之前除了空行和注释不能有其它代码,代码需要保存在与类名相同的 m 文件中,即 classname.m 文件。

定义类的文件可以放在 MATLAB 搜索路径下的文件夹中,也可以放置在搜索路径文件夹内的类文件夹。类文件夹的名字以 @ 开头,加上类的名字(如 @myclass)。更多信息参考Class Files and Folders.

1. 语法

classdef classnamepropertiesPropNameendmethodsmethodNameendeventsEventNameendenumerationEnumNameend
end

2. 说明

MATLAB 以代码块来组织类的声明与定义,下面分别介绍。

2.1 classdef 代码块

参考链接

classdef 代码块内包含了类定义的全部元素,包含在一个以类名为文件名的m文件中。其结构为:

classdef (ClassAttributes) ClassName < SuperClass

end

2.1.1 ClassAttributes

参考链接

ClassAttributes 代表类的属性,其可选的属性和值如下:

属性 可选值 说明
Abstract true,false
(default = false)
当设定为 true 表示该类是一个抽象类,不能被实例化。
更多信息见 Abstract Classes
AllowedSubclasses meta.class 对象或者是 meta.class 对象的元包向量 列表中给出了可以继承该类的 meta.class 对象。
类名前使用?来指定meta.class对象。
更多信息见 Specify Allowed Subclasses
ConstructOnLoad true,false
(default = false)
当设为 true,MATLAB 会在从 MAT 文件中加载对象时调用构造函数。因此,应用构造函数不会在无参数调用时产生错误。
更多信息见 Initialize Objects When Loading
HandleCompatible true,false
(default = false)
当设为 true,这个类可以作为句柄类的父类。所有句柄类都是句柄兼容的。
更多信息见 Support Both Handle and Value Subclasses
Hidden true,false
(default = false)
当设为 true,类不会出现在 superclasses 或 help 函数的输出结果中。
InferiorClasses meta.class 对象或者是 meta.class 对象的元包向量 使用该属性来确定在类中的优先等级。使用?来指定 meta.class 对象元包向量。
基本类总是比用户定义的优先等级高,不列在列表中。
更多参考Class Precedence 和 Dominant Argument in Overloaded Graphics Functions
Sealed true,false
(default = false)
当设定为 true,该类不能被继承。

说明:

  • 类属性不能被继承,所以父类的属性不会影响到子类。
  • 在括号中指定属性值,多个属性之间采用逗号分隔,如:

    classdef (Attribute1 = value1, Attribute2 = value2,…) ClassName

    end

2.1.2 SuperClass

SuperClass 为继承的类名字,如果要继承多个类,类与类之间用 & 连接。

2.2 Properties 代码块

参考链接

2.3 Methods 代码块

参考链接

2.4 Events 代码块

参考链接

2.5 Enumeration 类

参考链接

Matlab 中类的定义相关推荐

  1. Python中类的定义与使用

    Python中类的定义与使用 Part I 目标: 1.类的定义 2.父类,子类定义,以及子类调用父类 3.类的组合使用 4.内置功能 1.类的定义 #!/usr/bin/env python #co ...

  2. python如何定义类_Python中类的定义、继承及使用对象实例详解

    本文实例讲述了Python中类的定义.继承及使用对象的方法.分享给大家供大家参考.具体分析如下: Python编程中类的概念可以比作是某种类型集合的描述,如"人类"可以被看作一个类 ...

  3. java类的定义的实例_Java中类的定义和初始化示例详解

    类的定义 类的定义格式 //创建类 class classname{ field ://成员属性/字段 method://方法 } class为定义类的关键字,classname为类的名字,{ }为类 ...

  4. php类的实例化方法,php中类的定义和实例化方法

    php中类的定义和实例化方法 发布时间:2020-06-18 11:29:37 来源:亿速云 阅读:57 作者:Leah 这篇文章运用简单易懂的例子给大家介绍php中类的定义和实例化方法,代码非常详细 ...

  5. matlab:数组定义

    matlab:数组定义 一维数组 多维数组 预分配数组 索引赋值 数组拼接 在MATLAB中,数组可以通过以下方式定义: 一维数组 可以使用方括号[]将元素用逗号隔开来定义一维数组.例如,a = [1 ...

  6. matlab矩阵的定义和运算

    转载http://blog.csdn.net/perfumekristy/article/details/8119861 一.矩阵的表示 在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在&qu ...

  7. matlab中yx是什么意思啊,matlab中怎样定义未知数,如x,syms是什么意思?

    www.mh456.com防采集. 一.syms用法: 其实matlab会自己根据图形的定义域绘制图形,当然你可以用axis[x1,x2,y1,y2]加以限定,x1-x2表示 x的定义域,y1-y2表 ...

  8. python核心编程:Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解

    这篇文章主要介绍了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法,结合具体实例形式较为详细的分析了Python面向对象程序设计中类的定义.实例化.封装.私有变量.私有方法等相关使 ...

  9. matlab 报错 保留变量,matlab中明明定义了函数变量总是报错

    matlab定义符号函数 functiony=ff(t)t=input('t=');ift>=0y=sym('1');elsey=sym('0');end matlab中如何定义函数 matla ...

  10. matlab中定义向量函数,matlab中如何定义向量

    Matlab中生成向量的三种方法 在Matlab中,如何才能生成向量,生成向量的方法又有多少种?相信这是每一个初学者都想知道的问题.这里小编将向大家详细介绍Matlab中生成向量的三种方法. 方法一: ...

最新文章

  1. 第九天:基础文件管理
  2. 求单链表的最大值与原地逆转_江西师范大学硕士学位研究生入学考试数据结构试题(2003年)一.doc...
  3. php中需要注意的问题
  4. 成考高起专计算机统考试题,成考考试题型
  5. Hibernate中常用对象、方法、属性的理解
  6. 40 | 案例篇:网络请求延迟变大了,我该怎么办?
  7. 如何用视频云技术,搞一个爆红的 “反应视频” 项目?
  8. xfce4终端的字体颜色修改
  9. FLV协议5分钟入门浅析
  10. [Pytorch] BCELoss和BCEWithLogitsLoss(Sigmoid-BCELoss合成为一步)
  11. Flutter实战之Image和FadeInImage
  12. windows下配置NGINX实现内网穿透并配置开机自启动
  13. 联想G480改装固态硬盘、光驱变机械硬盘以及装系统(上)
  14. 安川ga700变频器故障码集_安川变频器CPF故障码集
  15. 透明贴图原理--浅显易懂
  16. 黑蚁数据工坊-地理信息行业数据生产全流程管控“工厂”
  17. 数据库的查询、视图和游标
  18. Chase your purpose,not your passion
  19. elementUI上传图片后删除
  20. 通过百度语音生成音频文件

热门文章

  1. 从未在一起更让人遗憾_我们从未在一起更遗憾
  2. Channel~scatter and gather
  3. 微信内置浏览器无法下载文件的解决方案
  4. 2021年阿里云服务器租用价格表(最新更新)
  5. iPhoneXs iPhoneXs Max iPhoneXr 界面适配问题
  6. 7-6 统计大写辅音字母
  7. 802.11a/b/g/n/ac速率表--防迷路,通过博客收藏
  8. 极路由2hc5761刷华硕固件_[固件] 【原创首发】极二路由HC5761 9012.1.9227s成功刷成openwrt...
  9. 个性签名html,经典个性签名-2021最新QQ经典-QQ经典个性签名-腾牛个性网
  10. Log4j2 日志级别