• 【C++学习笔记】继承与派生基础概念


    面向对象的程序设计主要有四个特点:抽象、封装、继承多态。其中继承是我认为最最重要的一个特性,可以说继承是面向对象的精华所在。

    举一个继承的浅显易懂的例子:假如我们已经有了一个“马”的类,其中成员变量有身长、身高、体重等,还有“吃”、“奔跑”等成员函数,现在我们想创建新类”公马“和”母马“,很明显公马母马具有马的所有特征,我们就不需要重新再写,只需要在原有类的基础上增加”性别“这一新特征,即可创建两个新类。同理,白公马、黑公马可以从公马这一个类派生出来,也就是说它可以继承公马的全部特征而加上颜色这一新特征即可。马是公马的基类,公马是白公马的基类,所以我们可以看出基类、派生类都是相对而言的。

    一、派生类的声明方式

    下面通过刚才举的例子来说明

    class horse
    {
    public:
    	void eat();
    	void run();
    	
    private:
    	float height;
    	float weight;
    };
    class malehorse:public horse
    {
    private:
    	char sex;			//只写新增加的成员
    };
    class wh_mhorse:public malehorse
    {
    private:
    	char color;
    };
    void horse::eat(){
    	cout<<"horse eats grass"<<endl;
    }


    派生类声明方式为

    class  派生类名继承方式  基类名

    二、派生类访问属性

    首先,继承有三种方式:publicprotectedprivate。想必在刚学C++时大家都有这样的疑惑,感觉protected和private属性是一样的,反正都不能从类外访问。到了这里就有区别了:private是”私有“的,不管何种继承方式基类的私有成员都是基类所私有,派生类不可访问;而基类protected成员随继承方式的不同在派生类中担当不同身份。下面详细介绍一下

    (1)共用继承

    基类的共有成员和保护成员在派生类中保持原有访问属性,私有成员扔为基类所有。

    (2)保护继承

    基类的共有成员和保护成员在派生类中成了保护成员。

    (3)私有继承

    基类的共有成员和保护成员在派生类中成了私有成员。

  • 相关阅读:
    Android Touch事件相关源码【Android SourceCode 2.3.6】
    使用方式比较优雅的代码集合
    Android系统中是否开启定位及定位模式的判断
    Android中软键盘展示、EditText焦点获取及windowSoftInputMode属性探究
    删除rz上传失败乱码的文件
    linux mysql 操作命令
    linux下端口被占用
    linux环境搭建记录
    ibatis 批量插入数据
    jQuery id模糊 选择器 批量处理
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3324894.html
Copyright © 2020-2023  润新知