C++ 什么是继承和派生

这篇博文对C++的继承和派生将的非常好。

        http://blog.csdn.net/insistgogo/article/details/6645215


        在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(base class)”或“父类(father class)”,新建的类称为“派生类(derived class)”或“子类(son class )”。


一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。

一个派生类不仅可以从一个基类派生,也可以从多个基类派生。也就是说,一个派生类可以有一个或者多个基类。一个派生类有两个或多个基类的称为多重继承(multiple inheritance)。关于基类和派生类的关系,可以表述为派生类是基类的具体化,而基类则是派生类的抽象。


         

继承的意义?

使程序的设计更符合发展规律,即事物的发展是一个从低级到高级的发展过程,类的继承也是反映由原始的简单代码到丰富的高级代码的过程。它能帮助我们描述事物的层次关系,有效而精确的理解事物,理解事物直到本质。

什么叫继承?

(1)继承使类与类之间建立起一种上下级的层次关系

(2)子类可以重复使用父类的操作和数据成员,子类可以声明新的属性和操作,还可以剔除不适合自己用途的父类操作。

为什么要使用继承?

原因:为了提高代码复用率,缩短程序开发成本

继承实现的功能:

1、继承基类的数据成员:将基类成员全盘吸收

2、增加新的数据成员、改变现有成员的属性:不同方式继承 +  声明一个同名成员,使用重写覆盖技术

3、重新定义已有成员函数


继承的分类:

针对派生类而言,根据基类的个数分:单继承 +  多继承

单继承:派生类的基类只有一个


三种继承方式:公有继承(public),私有继承(private),保护继承(protected)

继承后访问属性的种类:针对派生类而言,成员可分为:不可访问成员、私有成员、受保护成员、公有成员

说明:无论是那种派生方式,派生类无法直接使用不可访问变量的,换句话说,派生类不能访问基类的私有成员。

具体如图:














继承后的法则:

派生类的成员函数访问基类成员时,

          无论是公有、私有、受保护继承,基类的私有变量均不可访问,但继承后属性为公有、受保护成员均可以直接访问。

派生类的对象类外访问基类成员时,

         若受保护、私有继承时,派生类对象均不可访问基类的成员(无论是哪种访问属性)。

         若公有继承,派生类的对象可以访问基类的公有成员。

 一句话:就派生类而言,基类私有变量不可访问,其他成员的访问情况,按具体继承后的属性而定

根据父亲物品的使用权以及继承,换一种方式理解成员权限的定义:

父亲的东西可以分为几类,只能是父母知道,子女都不可以知道。子女可以知道,但是外人不可以知道。外人可以知道。

根据分类,给出哪种物品使用哪种权限限制:

--只能是父母知道,子女都不可以知道:把这部分东西定义为Private。

--子女可以知道,但是外人不可以知道:把这部分定义为protected。

--外人可以知道:把这部分内容定义为Public

最后根据那些继承方式,对父类物品的访问类型进一步约束,形成自己的访问法则




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值