MATLAB类
classdef classname < super_class |
若成员方法代码量比较大,可以在类定义中仅给出函数的声明,把函数实现放到一个独立的文件中。
说明:
- 这种方法需要创建一个@classname的文件夹,然后把类的定义和方法的实现都放到该文件夹中,然后在@classname的外部调用该类的构造函数。
- 某些函数不能采用这种方式,比如类的Constructor和Destructor(析构函数),以及Static方法,都必须在类的定义中实现。
调用方法
点调用方式:obj.memberFunction(arg1,arg2)
函数调用方式:memberFunction(obj,arg1,arg2)
点调用和函数调用类方法的区别,虽然两种方法基本等价,但仍有一些细微的区别:
- 使用点调用方式符合面向对象的风格,程序的可读性高,这是施加在对象上的一种操作。使用函数调用方式满足传统的面向过程的编程习惯,在某些情况下,兼容旧的MATLAB代码。
- 使用点调用可以清楚的表示MATLAB调用的时成员方法还是函数。
类的构造函数
构造函数(Constructor)是一种特殊的成员方法:
- Constructor和类的名称相同,用来创造类的实例。
- MATLAB类定义中只能有1个Constructor·。
- Constructor有且只能有一个返回值,且必须是新创建的对象,这是唯一创建一个新的对象的方式。
classdef Point2D < handle |
>> clear classes; |
MATLAB在声明一个对象时的工作顺序是:先装载类的定义,然后再调用构造函数,这时属性被重新赋值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 JrunDing!
评论