基于MATLAB的面向对象编程(4)——类文件
生活随笔
收集整理的这篇文章主要介绍了
基于MATLAB的面向对象编程(4)——类文件
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 5 MATLAB的类文件的组织结构
- 5.1 如何使用其他文件夹中类的定义
- 5.2 类的定义和成员方法分开
- 5.3 类的局部函数
- 5.4 使用package文件夹管理类
- 5.5 类方法和函数重名的调用规则
- 5.6 同名函数优先级
5 MATLAB的类文件的组织结构
5.1 如何使用其他文件夹中类的定义
- 添加路径
addpath函数
添加路径,调用其他路径的类
5.2 类的定义和成员方法分开
当一个类的方法过多时,可以将类定义和成员方法定义放在同一个以@开头,类名为文件名的文件夹中。例如:@Point
classdef Point < handleproperties(Access = private)xyendmethodsfunction obj = Point(x,y)obj.x = x;obj.y = y;end[norm] = normalize(obj);display1(obj); % display 与内置函数冲突end end function [norm] = normalize(obj) norm = sqrt(obj.x^2+obj.y^2); obj.x = obj.x/norm; obj.y = obj.y/norm; end function display1(obj) disp(['x = ',num2str(obj.x)]); disp(['y = ',num2str(obj.y)]); end此类方法可以访问类的私有数据,其他的普通方法并不行。成员方法的声明同样需要放置在method block中。
- 构造方法和析构方法只能放置在类定义中,不能剥离
- set和get方法同样只能放置在类定义中。
- static方法同理
使用类文件中的类定义,一般与脚本放置在同一文件夹即可。
更常用的方法是通过addpath进行调用。
5.3 类的局部函数
局部函数放置在classdef…end之后,作为工具(Utility)函数,提供一些功能,外部不可见。
在类定义中的类方法可以调用局部函数,在同一文件夹中的类方法则不行,但其自身可以定义局部函数。
5.4 使用package文件夹管理类
package文件夹以“+”开头,可以包括各个类的文件夹,类之间可以有继承关系。但其继承类之前需要加上文件名。
凡是使用基类均需要加文件名,形如
同样的,使用某个类时,需要加上其文件名
p1 = MyPointPackage.Point2D(1,1); p2 = MyPointPackage.Point2D(3,5);导入此文件夹中的所有类的方法
import MyPointPackage.*;此时不在需要添加文件夹名称即可调用相关的类。
5.5 类方法和函数重名的调用规则
其各自函数的调用规则不同,不会出现函数冲突。
5.6 同名函数优先级
直接路径优先级一般最高。
总结
以上是生活随笔为你收集整理的基于MATLAB的面向对象编程(4)——类文件的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 基于MATLAB的面对对象编程(3)——
- 下一篇: 复随机变量及高斯熵的概念