定义一个类
可以使用与该类同名的 .m
文件中的 classdef
定义类。该文件可以包含 classdef
… end
块和用于类方法的本地函数。
最通用的 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