感谢大家关注matlab爱好者公众号,今天给大家介绍matlab面向对象编程所用的数据类型——类。在聊天栏中输入"015"、"类"或"对象"即可快速获取本文章。
matlab除了面向过程编程之外,还可以面向对象编程。面向对象编程最显著的特征就是封装性,继承性,多态性,这些通过一种特殊的数据类型来表征,即是——类。
类是一种数据类型,与普通的数据类型不同的是类不仅包含数据,还包括对数据的操作,类把数据和数据操作方法封装在一起,作为一个整体参与程序的运行。类具有可继承性,创建一个新的类的时候,可以在一个基类中添加成员派生出新类。类的变量和类的实例是不同的,类的实例是动态分配的内存区域,通常称类的实例为“对象”。同一个类可有不同的实例存在,每个实例各自可有自己的数据,但是数据操作方法是相同的。类的变量可以看作是一个指针,指向类的实例。
在matlab中,通常一个类包含如下四个基本的成员函数:
构造函数―与类名相同,可在其中完成成员初始化;
显示函数―名为display,用于显示成员的数据;
赋值函数―名为set,用于设置类成员的数值;
取值函数―名为get,用于读取类成员的函数。
与C++的类不同的是,matlab的类不需要专门的析构函数。如果类用到了一些特殊的内容需要释放的话,可以编写一个成员函数,比如classclear,用包来释放所占用的资源。
类的创建:通过classdef命令来创建或继承类
使用格式:
classdef WidgetHandle < handle
properties
...
end
methods
...
end
end
上面的小于符号(<)表示继承,handle是所继承的类。
特别说明:类的static function可以在不定义类的实例的情况下直接调用类的成员函数,比如定义:
classdef tools < handle
methods (Static = true)
function a = test(b, c)
a = b + c;
end
end
end
直接通过tools.test(b, c)调用函数。
具体示例
温馨提示
如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。