MATLAB面向对象学习笔记(1)
类定义
classdef Point2D<handle
properties
end
methods
end
end
其中有properties属性块和methods属性块
类的属性
1. 常量(constant)属性
使用时可以直接 className.constant变量名 调用常量属性
使用关键字 constant
classdef A<handle properties(Constant) R=pi/180 end end
2. 依赖(dependent)属性
依赖属性的值 受 其他属性控制
对象内部没有给 依赖属性 分配物理空间,每次调用时都是由其他属性计算出来
计算该属性使用 get方法
function r=get.r(obj)%dependent属性要放在get方法中 r=sqrt(obj.x^2+obj.y^2); disp('get.r called'); end
使用关键字 dependent
properties(Dependent) r end
3. 隐藏(hidden)属性
使用效果是 “使用命令行查看对象信息时不会显示hidden属性”
但 仍可通过dot方法调用它(如果知道名字的话)
使用hidden关键字
properties(Hidden) var end
2. 类的方法
1. 普通方法定义
methods
function [returnValue]=functionName(arguments)
…….
end
end
2. 构造函数
定义:
- 和类名字一样的函数就是构造函数
用途
- 构造函数通常用来初始化
默认构造函数
- 一般matlab都会有一个默认的无参的构造函数
让constructor(构造函数)接收不同数目的参数
- 根据输入参数个数(nargin)选择不同的代码块
function obj=Point2D(x0,y0) if nargin==0 %没有提供参数,default constructor %..... elseif nargin==2 %...... else %......
3. 隐藏(hidden)方法
- 和隐藏(hidden)属性类似的使用效果