派生与继承

介绍

类与类之间可以有派生继承的关系,这两种关系是相互的,即父类(基类)派生出子类(派生类),子类(派生类)继承自父类(基类)。

派生方式有三种:public(公共派生)、protected(保护派生)和private(私有派生),不同的派生方式导致不同权限的父类成员派生到子类之后拥有不同的权限。举个例子:Father类中有个成员public int M,然后Father类通过私有派生(private)的方式派生出一个Son类,那么Father类中的M对Son来说会是private的。为什么会这样呢?请看下表规定。

基类成员在各自派生类中的存取权限

派生方式在基类中的存取权限在派生类中的存取权限
publicpublicpublic
publicprotectedprotected
publicprivate(inaccessible)
protectedpublicprotected
protectedprotectedprotected
protectedprivate(inaccessible)
privatepublicprivate
privateprotectedprivate
privateprivate(inaccessible)

这个表看似很复杂,其实不然。它们有这样的规律:

  1. 基类中的private成员,无论采用何种派生方式,对派生类而言,都是无法访问的
  2. 基类中的其他成员(public和protected),在派生类中的存取权限是【该成员在基类中的存取权限】和【派生方式】两者中最严格的那个(最严格-private-protected-public-最宽松)。

几点注意

1.一个类可派生出多个派生类

2.一个类可有一个或多个基类,称为单一继承多重继承

3.派生类又可以有派生类,称为多级继承

4.继承关系不可循环

5.基类的友元关系、基类的构造函数和析构函数都不能被派生类所继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值