程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> matlab 基礎知識class ( superclass_name

matlab 基礎知識class ( superclass_name

編輯:C++入門知識

matlab 基礎知識class ( superclass_name


matlab中的class,在matlab中也可以通過創建類的方式實現面向對象編程。


1)類定義

>> classdef (attribute1 = value,...) classname(< superclass_name)
   properties
         PropName
   end

   methods
         methodName
   end        
   events
        EventName
   end

end

類名必須要與文件名相同,第一個括號中聲明類的屬性,類似於java中的public等關鍵詞,更詳細的解釋可參考:Class Attributes。第二個括號指明類是否需要繼承父類,類似於java中的extends關鍵字或者C++中的‘:’。同樣matlab也支持多重繼承,更詳細的解釋可參考:Creating Subclasses —Syntax and Techniques。在實現鏈表的過程中,我們需要繼承handle類。

properties類似於成員變量,更詳細的解釋可參考:Defining Properties。
methods就是具體的函數實現。有很多種不同類型的函數,下面簡要介紹:

普通函數(Ordinarymethods)。大部分都是普通函數,它負責完成該類要完成的主要任務。
構造函數(Constructormethods)。和其他高級語言類似,也必須是類名,用來給屬性賦值。唯一不同是它必須返回它創建的對象。更詳細的解釋可參考:Class Constructor Methods。
析構函數(Destructormethods)。名字必須是delete,用來釋放空間。更詳細的解釋可參考:Handle Class Delete Methods。
屬性訪問函數(Propertyaccess methods)。類似於其他高級語言中的set、get函數。更詳細的解釋可參考:Controlling PropertyAccess。
靜態函數(Staticmethods)。類似於其他高級語言中的靜態函數,通過類對象進行訪問。
轉換函數(Conversionmethods)。是對其他類構造函數的重載,可以將自己定義類的對象轉換成重載構造函數類的對象。更詳細的解釋可參考:Converting Objects to Another Class。
抽象函數(Abstractmethods)。無需解釋,用來在子類中繼承的函數。

例子:定義一個結點類node
>> classdef node < handle
   properties
      data
   end

   properties(SetAccess = public)
      next
   end

   methods
   function node = node(data)
      if nargin > 0
             node.data=data;
       end
      end
   end

end












  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved