定義一個類

可以使用與該類同名的 .m 檔案中的 classdef 定義類。該檔案可以包含 classdefend 塊和用於類方法的本地函式。

最通用的 MATLAB 類定義具有以下結構:

classdef (ClassAttribute = expression, ...) ClassName < ParentClass1 & ParentClass2 & ...

   properties (PropertyAttributes) 
      PropertyName
   end 

   methods (MethodAttributes) 
      function obj = methodName(obj,arg2,...)
         ...
      end
   end

   events (EventAttributes) 
      EventName
   end

   enumeration
      EnumName
   end

end

MATLAB 文件: 類屬性屬性屬性方法屬性事件屬性列舉類限制

示例類:

名為 Car 的類可以在檔案 Car.m 中定義為

classdef Car < handle % handle class so properties persist
    properties
        make
        model
        mileage = 0;
    end

    methods
        function obj = Car(make, model)
            obj.make = make;
            obj.model = model;
        end
        function drive(obj, milesDriven)
            obj.mileage = obj.mileage + milesDriven;
        end
    end
end

請注意,建構函式是一個與類同名的方法。 <建構函式是物件導向程式設計中的類或結構的特殊方法,用於初始化該型別的物件。建構函式是一個例項方法,通常與類具有相同的名稱,可用於設定物件成員的值,可以是預設值,也可以是使用者定義的值。>

可以通過呼叫建構函式來建立此類的例項;

>> myCar = Car('Ford', 'Mustang'); //creating an instance of car class 

呼叫 drive 方法將增加里程數

>> myCar.mileage 
    
    ans = 
            0

>> myCar.drive(450);

>> myCar.mileage
    
   ans = 
            450