matlab面向对象

定义类 举例

下例中包含一个属性block 和一个方法block

  • constructor构造方法:负责产生并且返回类的对象,通常还可以用来初始化对象的属性
classdef Point2Dhandle
    properties 
    end
    methods
    end
end
创建对象

创建对象的方式是直接调用类的constructor

类的属性 访问对象的属性

使用dot 运算符

对象属性的初始化
  1. 使用constructor
  2. 使用属性默认值初始化
常量(Constant)属性

定义:在对象生存周期中值保持不变的属性,如果对该属性进行修改都将报错。
constant property不用创建对象就可以直接使用类中的常量

classdef Ahandle
    properties(Constant)
        R=pi/180
    end
end
非独立(Dependent)属性

定义:其值依赖于其他的属性,一旦其他的属性改变,该属性也做响应的变化,在概念上可以理解为数学中的因变量。
计算该属性的方法由get提供。

classdef Point2Dhandle  
    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
参考链接

https://www.zybuluo.com/hainingwyx/note/609905

最新回复(0)
/jishuiROMhdsbZrRxE7rYFzMHlyPoOb5KxdgBSf3jNw_3D_3D4833664
8 简首页