首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

matlab复杂数据类型(三)

感谢大家关注matlab爱好者公众号,今天给大家介绍matlab面向对象编程所用的数据类型——类。在聊天栏中输入"015"、"类"或"对象"即可快速获取本文章。

matlab除了面向过程编程之外,还可以面向对象编程。面向对象编程最显著的特征就是封装性,继承性,多态性,这些通过一种特殊的数据类型来表征,即是——类。

类是一种数据类型,与普通的数据类型不同的是类不仅包含数据,还包括对数据的操作,类把数据和数据操作方法封装在一起,作为一个整体参与程序的运行。类具有可继承性,创建一个新的类的时候,可以在一个基类中添加成员派生出新类。类的变量和类的实例是不同的,类的实例是动态分配的内存区域,通常称类的实例为“对象”。同一个类可有不同的实例存在,每个实例各自可有自己的数据,但是数据操作方法是相同的。类的变量可以看作是一个指针,指向类的实例。

在matlab中,通常一个类包含如下四个基本的成员函数:

构造函数―与类名相同,可在其中完成成员初始化;

显示函数―名为display,用于显示成员的数据;

赋值函数―名为set,用于设置类成员的数值;

取值函数―名为get,用于读取类成员的函数。

与C++的类不同的是,matlab的类不需要专门的析构函数。如果类用到了一些特殊的内容需要释放的话,可以编写一个成员函数,比如classclear,用包来释放所占用的资源。

类的创建:通过classdef命令来创建或继承类

使用格式:

代码语言:javascript
复制
classdef WidgetHandle < handle
    properties
    ...
    end
    methods
    ...
    end
end

上面的小于符号(<)表示继承,handle是所继承的类。

特别说明:类的static function可以在不定义类的实例的情况下直接调用类的成员函数,比如定义:

代码语言:javascript
复制
classdef tools < handle 
    methods (Static = true) 
        function a = test(b, c) 
            a = b + c; 
        end 
    end 
end

直接通过tools.test(b, c)调用函数。

具体示例

温馨提示

如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。

下一篇
举报
领券
首页
学习
活动
专区
圈层
工具