日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于MATLAB的面向对象编程(4)——类文件

發(fā)布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于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ù)
    添加路徑,調用其他路徑的類
addpath('Z:\folder1\...'); p1 = Point(1.2,10);

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ù)。

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% 局部函數(shù) function [x,y] = localUtility() %... end

5.4 使用package文件夾管理類

package文件夾以“+”開頭,可以包括各個類的文件夾,類之間可以有繼承關系。但其繼承類之前需要加上文件名。
凡是使用基類均需要加文件名,形如

classdef Point3D < MyPointPackage.Point2D obj = obj@MyPointPackage.Point2D(x,y) display@MyPointPackage.Point2D(obj)

同樣的,使用某個類時,需要加上其文件名

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)——类文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。