matlab 基础知识class < superclass_name
2023-09-11 14:21:01 时间
matlab中的class,在matlab中也能够通过创建类的方式实现面向对象编程。
1)类定义
>> classdef (attribute1 = value,...) classname(< superclass_name) properties PropName end methods methodName end events EventName end end
类名必须要与文件名称相同,第一个括号里声明类的属性,类似于java中的public等关键词,更具体的解释可參考:Class Attributes。
第二个括号指明类是否须要继承父类,类似于java中的extendskeyword或者C++中的‘:’。
相同matlab也支持多重继承,更具体的解释可參考:Creating Subclasses —Syntax and Techniques。在实现链表的过程中,我们须要继承handle类。
properties类似于成员变量。更具体的解释可參考:Defining Properties。
methods就是详细的函数实现。有非常多种不同类型的函数。以下简要介绍:
普通函数(Ordinarymethods)。
methods就是详细的函数实现。有非常多种不同类型的函数。以下简要介绍:
普通函数(Ordinarymethods)。
大部分都是普通函数,它负责完毕该类要完毕的主要任务。
构造函数(Constructormethods)。
和其它高级语言类似。也必须是类名。用来给属性赋值。
唯一不同是它必须返回它创建的对象。
更具体的解释可參考:Class Constructor Methods。
析构函数(Destructormethods)。名字必须是delete,用来释放空间。更具体的解释可參考:Handle Class Delete Methods。
属性訪问函数(Propertyaccess methods)。类似于其它高级语言中的set、get函数。
更具体的解释可參考:Controlling PropertyAccess。
静态函数(Staticmethods)。类似于其它高级语言中的静态函数,通过类对象进行訪问。
转换函数(Conversionmethods)。是对其它类构造函数的重载,能够将自定义类的对象转换成重载构造函数类的对象。更具体的解释可參考:Converting Objects to Another Class。
抽象函数(Abstractmethods)。
无需解释,用来在子类中继承的函数。
样例:定义一个结点类node
>> classdef node < handle properties data end properties(SetAccess = public) next end methods function node = node(data) if nargin > 0 node.data=data; end end end end
版权声明:本文博客原创文章,博客,未经同意,不得转载。
相关文章
- 罗永浩ROM"Smartisan OS"于3月27日发布
- BASE64 测试&总结
- centos 7 下 rabbitmq 3.8.0 & erlang 22.1 源码编译安装
- [CSS] Create Complex Shapes with CSS Clip Path and Border Radiusc (border-radius & clip-path)
- [Python] List & Object spread in Python
- 【IOS-COCOS2D(2.X) 游戏开发之一】自定义CCSPRITE中-(ID) INIT 重写需注意& 2.X版本中注册触屏事件代码&简述COCOS2D/X/UNITY3D引擎使用感想!
- [SAA + SAP] 14. CloudFront & AWS Global Accelerator
- [CSS3] Image Width with sizes (srcset & sizes)
- scss里的符号&的用法
- 10款神奇的字符图案 & 词汇云生成工具
- 华为OD机试 - 最差产品奖(Java & JS & Python)
- 华为OD机试 - 字符串解密(Java & JS & Python)
- 黏菌优化算法SMA(Python&Matlab完整代码实现)
- 基于转换器 (MMC) 技术和电压源转换器 (VSC) 的高压直流 (HVDC) 模型(Matlab&Simulink实现)
- 改进粒子群算法的配电网故障定位(Python&Matlab代码实现)
- 基于改进的蚂蚁群算法求解最短路径问题、二次分配问题、背包问题【Matlab&Python代码实现】
- 我想带你去浪漫的土耳其(Python&Matlab实现)
- 【伏羲八卦图】(Python&Matlab实现)
- 用于大规模 MIMO 检测的近似消息传递 (AMP)(Matlab代码实现)
- 音视频&流媒体的原理以及基础入门知识
- 【MATLAB】matlab实现最大熵法图像分割程序
- 【人工智能AI&ChatGPT】GPT-4 震撼发布:多模态大模型,直接升级ChatGPT、必应,开放API,游戏终结了?
- 【MATLAB】matlab 文档使用 ( 文档查询 | 文档层次 | 自带搜索工具 | 帮助命令 | 学习导引 )
- device unauthorized & ANDROID_ADB_SERVER_PORT 问题解决
- 电力系统强大的CVX学习(Matlab&Python)
- 【语音编码】基于matlab ADPCM编解码(Matlab代码实现)
- 神奇的量子世界——量子遗传算法(Python&Matlab实现)
- 牛顿法求方程的根(C&Matlab&Python语言实现)