Matalab类定义
Matlab類定義
Matlab自學(xué)筆記(2)
文章目錄
- Matlab類定義
- 前言
- 1、類定義
- 2、classdef定義塊
- 3、屬性定義塊
- 3.1 屬性特性 Attributes
- 4、方法
- 5、事件
- 6、枚舉
前言
類是一種數(shù)據(jù)類型,與普通的數(shù)據(jù)類型不同的是類不僅包含數(shù)據(jù),還包含對(duì)數(shù)據(jù)的操作,類把數(shù)據(jù)和數(shù)據(jù)操作方法封裝在一起,作為一個(gè)整體參與程序的運(yùn)行。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
1、類定義
classdef是類定義關(guān)鍵字,其語(yǔ)法為
classdef … end
完整示例如下,
classdef (Attributes) ClassName < SuperclassName %開(kāi)始類定義properties (Attributes) %開(kāi)始屬性定義塊PropertyNamePropertyName size class {validation functions}end %終止屬性定義塊methods (Attributes) %開(kāi)始方法定義塊function obj = methodName(obj,arg2,...)...endend %開(kāi)始方法定義塊events (Attributes) %開(kāi)始事件定義塊EventNameend %開(kāi)始事件定義塊end %中止類定義classdef (Attributes) ClassName < SuperclassName %開(kāi)始類定義enumeration %開(kāi)始枚舉定義EnumNameend %中止枚舉定義end %中止類定義properties、methods、events 和 enumeration 也是 MATLAB? 函數(shù)的名稱,這些函數(shù)用于查詢給定對(duì)象或類名稱的各個(gè)類成員。
2、classdef定義塊
classdef是用來(lái)定義matlab類的關(guān)鍵字。
classdef ClassName,是類定義的開(kāi)始,只有空白行和注釋可以位于classdef的前面。
end,用來(lái)終止classdef塊。
類定義要保存在與類名稱相同的文件中(文件拓展名為.m)。
類名稱要以字母開(kāi)頭,可以包含字母、數(shù)字或下劃線。
classdef ClassName < SuperclassName1 & SuperclassName2 ...%開(kāi)始類定義并指定一個(gè)或多個(gè)超類classdef (AttributeName1 = attributevalue, AttributeName2 = attributevalue, ...) ClassName%開(kāi)始類定義并制定類屬性(可選)類定義文件可以位于 MATLAB 路徑上的文件夾中,也可以位于父文件夾在 MATLAB 路徑上的類文件夾中。類文件夾名稱以 ‘@’ 字符開(kāi)始,后跟類名稱(例如 @MyClass)。
3、屬性定義塊
properties (Attributes) %開(kāi)始屬性定義塊PropertyNamePropertyName size class {validation functions} end %終止屬性定義塊類定義可以包含多個(gè)屬性定義塊,每個(gè)塊指定不同的屬性設(shè)置,這些設(shè)置適用于該特定塊中的屬性。
注意:屬性不能與類使用相同的名稱。
3.1 屬性特性 Attributes
屬性特性的目的
在類定義中指定特性使您能夠?yàn)樘囟康淖远x屬性的行為。通過(guò)設(shè)置特性來(lái)控制屬性的特征,例如訪問(wèn)權(quán)限、數(shù)據(jù)存儲(chǔ)和可見(jiàn)性。子類不繼承超類成員特性。
指定屬性特性
在 properties 關(guān)鍵字的同一行為屬性特性賦值:
properties (Attribute1 = value1, Attribute2 = value2,...)...end例如,對(duì) Data 屬性給予 private 訪問(wèn)權(quán)限:
properties (Access = private)Dataend屬性特性表
特性值
指定特性值時(shí),這些值會(huì)影響在定義代碼塊中定義的所有組件。例如,以下屬性定義代碼塊會(huì)進(jìn)行如下設(shè)置:
-
將 AccountBalance 屬性的 SetObservable 特性設(shè)置為 true
-
將 SSNumber 和 CreditCardNumber 屬性的 Hidden 特性設(shè)置為 true,將 SetAccess 特性設(shè)置為 private。
用不同的特性設(shè)置定義屬性需要多個(gè) properties 代碼塊。
properties (SetObservable = true) AccountBalance end properties (SetAccess = private, Hidden = true)SSNumberCreditCardNumber end4、方法
methods, 開(kāi)始方法定義塊;
end 關(guān)鍵字終止 methods 塊。
此塊包含實(shí)現(xiàn)類方法的函數(shù)。
類定義可以包含多個(gè)方法塊,每個(gè)塊指定不同的屬性設(shè)置,這些設(shè)置適用于該特定塊中的方法。可以在單獨(dú)的文件中定義方法函數(shù)。
5、事件
events 開(kāi)始事件定義塊,end 關(guān)鍵字終止 events 塊。
此塊包含類定義的事件名稱。
類定義可以包含多個(gè)事件塊,每個(gè)塊指定不同的屬性設(shè)置,這些設(shè)置適用于該特定塊中的事件。
6、枚舉
enumeration 開(kāi)始枚舉定義塊,end 關(guān)鍵字終止 enumeration 塊。
總結(jié)
以上是生活随笔為你收集整理的Matalab类定义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MATLAB常用命令、函数与运算
- 下一篇: XScuGic_Connect分析