面向对象-matlab

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)属性类似的使用效果

猜你喜欢

转载自blog.csdn.net/qq_38619183/article/details/80550027
今日推荐