定义类
举例
下例中包含一个属性block 和一个方法block
- constructor构造方法:负责产生并且返回类的对象,通常还可以用来初始化对象的属性
classdef Point2D<handle
properties
end
methods
end
end
创建对象
创建对象的方式是直接调用类的constructor
类的属性
访问对象的属性
使用dot 运算符
对象属性的初始化
- 使用constructor
- 使用属性默认值初始化
常量(Constant)属性
定义:在对象生存周期中值保持不变的属性,如果对该属性进行修改都将报错。
constant property不用创建对象就可以直接使用类中的常量
classdef A<handle
properties(Constant)
R=pi/180
end
end
非独立(Dependent)属性
定义:其值依赖于其他的属性,一旦其他的属性改变,该属性也做响应的变化,在概念上可以理解为数学中的因变量。
计算该属性的方法由get提供。
classdef Point2D<handle
properties
x
y
end
properties(Dependent)
r
end
methods
function obj=Point2D(x0,y0)
obj.x=x0;
obj.y=y0;
end
function r=get.r(obj)%dependent属性要放在get方法中
r=sqrt(obj.x^2+obj.y^2);
disp('get.r called');
end
end
end