MATLAB定义班级
示例
可以classdef在.m与该类同名的文件中使用定义该类。该文件可以包含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
endMATLAB文档:类属性,属性属性,方法属性,事件属性,枚举类限制。
示例类:
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'); //创建一个汽车类的实例调用drive方法会增加里程
>>myCar.mileage
ans =
0
>> myCar.drive(450);
>> myCar.mileage
ans =
450