基于MATLAB的面向对象编程(4)——类文件
生活随笔
收集整理的這篇文章主要介紹了
基于MATLAB的面向对象编程(4)——类文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 5 MATLAB的類文件的組織結構
- 5.1 如何使用其他文件夾中類的定義
- 5.2 類的定義和成員方法分開
- 5.3 類的局部函數(shù)
- 5.4 使用package文件夾管理類
- 5.5 類方法和函數(shù)重名的調用規(guī)則
- 5.6 同名函數(shù)優(yōu)先級
5 MATLAB的類文件的組織結構
5.1 如何使用其他文件夾中類的定義
- 添加路徑
addpath函數(shù)
添加路徑,調用其他路徑的類
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 與內置函數(shù)沖突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此類方法可以訪問類的私有數(shù)據(jù),其他的普通方法并不行。成員方法的聲明同樣需要放置在method block中。
- 構造方法和析構方法只能放置在類定義中,不能剝離
- set和get方法同樣只能放置在類定義中。
- static方法同理
使用類文件中的類定義,一般與腳本放置在同一文件夾即可。
更常用的方法是通過addpath進行調用。
5.3 類的局部函數(shù)
局部函數(shù)放置在classdef…end之后,作為工具(Utility)函數(shù),提供一些功能,外部不可見。
在類定義中的類方法可以調用局部函數(shù),在同一文件夾中的類方法則不行,但其自身可以定義局部函數(shù)。
5.4 使用package文件夾管理類
package文件夾以“+”開頭,可以包括各個類的文件夾,類之間可以有繼承關系。但其繼承類之前需要加上文件名。
凡是使用基類均需要加文件名,形如
同樣的,使用某個類時,需要加上其文件名
p1 = MyPointPackage.Point2D(1,1); p2 = MyPointPackage.Point2D(3,5);導入此文件夾中的所有類的方法
import MyPointPackage.*;此時不在需要添加文件夾名稱即可調用相關的類。
5.5 類方法和函數(shù)重名的調用規(guī)則
其各自函數(shù)的調用規(guī)則不同,不會出現(xiàn)函數(shù)沖突。
5.6 同名函數(shù)優(yōu)先級
直接路徑優(yōu)先級一般最高。
總結
以上是生活随笔為你收集整理的基于MATLAB的面向对象编程(4)——类文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于MATLAB的面对对象编程(3)——
- 下一篇: 复随机变量及高斯熵的概念