学习笔记----MATLAB面向对象编程入门03--类的继承

本系列内容为《MATLAB面向对象编程–从入门到设计模式》学习笔记,特此说明。

类的继承

继承是一种提供代码复用的方法,它是面向对象编程中最重要的概念之一。
面对对象中的“继承”提供一种机制,使得可以利用类和类之间的相似关系,利用已有的代码,在新的类中只需要添加多出来的属性和方法。

%%定义类Point2D
classdef Point2D < handle
    properties
        x
        y
    end
    methods
        function obj = Point2D(x0,y0) 
            obj.x=x0;
            obj.y=y0;
        end
        function print(obj)
            disp('x=',num2str(obj.x));
            disp('y=',num2str(obj.y));
        end
    end
end

%%利用Point2D定义Point3D

classdef Point3D < Point2D  %使用 <  表示继承
    properties
        z
    end
    methods
        function obj = Point3D(x0,y0,z0)
            obj = obj@Point2D(x0,y0);   %使用 @ 表示调用父类
            obj.z =z0;
        end
        function print(obj)
            print@Point2D(obj);
             disp('z=',num2str(obj.z));
        end
    end
end

在MATLAB中,继承关系也叫泛化关系,被继承的类叫作父类或者基类(Parent Class 或 Base Class);

继承的类叫作子类或者派生类(Child Clasee或 Derived Class)。

使用  “<” 表示继承

在子类中调用父类同名方法

子类和父类的成员方法可以有相同的名字,并且在子类的方法内部,可以调用父类的同名方法。

classdef super
    ......    
    methods
        function foo(obj,argu)
            ......
        end
    end
end

classdef sub < super
    ......
    methods
        function foo(obj,argu1,argu2)
            ......
            foo@super(obj,argu1); % @前面是父类方法的名称,后面是父类的类名
            .....
        end
    end
end

多态

多态(Polymorphism)是建立在继承的基础上的面向对象编程的精华之一。

多态是指同名的方法被不同的对象调用会产生不同的行为(多态)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值