多态的对象模型

来源:互联网 发布:java异常处理设计 编辑:程序博客网 时间:2024/06/02 04:16

一、多态

        定义:多态是同一个实体同时具有多种形式,它是面向对象程序设计的一个重要特征,c++的多态性体现在编译和运行时,编译时多态是静态多态,在编译时可以确定编译对象的形式;运行时是动态多态,运行时可以确定具体引用的对象。实现多态有:虚函数、抽象类、模板、覆盖。

        作用:把不同的子类对象都当做父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的程序,以适应需求的不断变化。赋值后,父类就可以根据当前赋值给他的子对象的特性以不同的方式运作,也就是父亲的行为像儿子。

二、多态的对象模型

        <1>单继承

        class <派生类名>:继承方式 <基类名>

        {

                派生类新成员;

        }

        其中派生类名是新定义的一个类的名字,它是从基类中派生出来的,并按指定的继承方式派生的。

        <2>多继承

       class <派生类名>:继承方式1 <基类名1>,继承方式2 <基类名2>,...

        {

                派生类新成员;

        }

        对比可得,单继承和多继承从定义方式来看,多继承的派生类继承的基类多(大于1个)。    

        <3>菱形继承请见另一篇博客