matlab面向对象编程

目录

1.继承一个父类

2深拷贝和浅拷贝

 枚举类


1.继承一个父类

定义一个person类


定义一个writer类,并从父类person中继承一些属性

2深拷贝和浅拷贝

containers. Map容器类的map方法能创建一个值映射到唯一键的对象,这里将这个对象赋予到了map属性,用此方法实现matlab的深拷贝

classdef MyMap < handle
    properties
        map;
    end 
    
    methods
        function obj = MyMap(data)
            obj.map = containers.Map('data',data);   %使用构造函数创建独立的Map
        end
        
        function obj_new = MyMapCopy(obj_old)
            obj_new.map = containers.Map(obj_old.map.keys, obj_old.map.values);
        end
        
    end
    
end

运行

a=MyMap([123,468,546]);
a.map
a.map.keys
c=a.map.values
a.map.values
k=[1,2,3]
k(1)
b=MyMapCopy(a)
b.map
b.map.values

 disp在类方法中作为内置方法,我们可以在父类中对其进行重载

 类的方法的调用方式

@文件夹下都属于同一个类,其下的函数属于该类的方法

3 枚举类

通过向类定义中添加 enumeration 代码块可创建枚举类

 如果枚举类指定超类,您可以通过将枚举对象传递给超类构造函数,将枚举对象转换为超类。然而,超类构造函数必须能够接受自己的类作为输入,并返回超类的实例。MATLAB 的内置数值类(如 uint32)允许此转换。

classdef AnimalType < uint8
    enumeration
        Mouse   (1)
        Cat     (2)
        Dog     (3)
        Wolf    (4)
        Leopard (5)
        Tiger   (6)
        Lion    (7)
        Elephant (8)
    end
    methods 
    end
end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值