当前位置:编程学习 > C/C++ >>

继承与派生基础概念

面向对象的程序设计主要有四个特点:抽象、封装、继承和多态。其中继承是我认为最最重要的一个特性,可以说继承是面向对象的精华所在。
 
举一个继承的浅显易懂的例子:假如我们已经有了一个“马”的类,其中成员变量有身长、身高、体重等,还有“吃”、“奔跑”等成员函数,现在我们想创建新类”公马“和”母马“,很明显公马母马具有马的所有特征,我们就不需要重新再写,只需要在原有类的基础上增加”性别“这一新特征,即可创建两个新类。同理,白公马、黑公马可以从公马这一个类派生出来,也就是说它可以继承公马的全部特征而加上颜色这一新特征即可。马是公马的基类,公马是白公马的基类,所以我们可以看出基类、派生类都是相对而言的。
 
一、派生类的声明方式
 
下面通过刚才举的例子来说明
 
 
class horse  
{  
public:  
    void eat();  
    void run();  
      
private:  
    float height;  
    float weight;  
};  
class malehorse:public horse  
{  
private:  
    char 易做图;           //只写新增加的成员  
};  
class wh_mhorse:public malehorse  
{  
private:  
    char color;  
};  
void horse::eat(){  
    cout<<"horse eats grass"<<endl;  
}  

 

 
 
派生类声明方式为
class  派生类名 :继承方式  基类名
 
二、派生类访问属性
 
首先,继承有三种方式:public、protected、private。想必在刚学C++时大家都有这样的疑惑,感觉protected和private属性是一样的,反正都不能从类外访问。到了这里就有区别了:private是”私有“的,不管何种继承方式基类的私有成员都是基类所私有,派生类不可访问;而基类protected成员随继承方式的不同在派生类中担当不同身份。下面详细介绍一下
 
(1)共用继承
 
基类的共有成员和保护成员在派生类中保持原有访问属性,私有成员扔为基类所有。
 
(2)保护继承
 
基类的共有成员和保护成员在派生类中成了保护成员。
 
(3)私有继承
 
基类的共有成员和保护成员在派生类中成了私有成员。
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,