三种继承方式

1、公有继承

基类的public成员被继承到派生类的public访问限定符下,基类的protected成员被继承到派生类

的protected访问限定符下,而基类的private成员被继承到派生类的不可见位置,无法直接访问。

 

2、保护继承

基类的protected成员和public成员都被继承到派生类的protected访问限定符下,而private成员

被继承到不可见位置,无法直接访问。

 

3、私有继承

基类的public成员和protected成员都被继承到派生类的private访问限定符下,对于基类的private

成员同样被继承到派生类的不可见位置,无法直接访问。

 

4、Is a 和 Has a关系

使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员。这意味着基类方法将不会成

为派生对象公有接口的一部分,但可以在派生类的成员函数中使用它们。这种不完全继承是Has a关系

的一部分,使用包含关系(成员对象)也可以实现Has a关系,因为我们只能够调用成员对象中的共有

方法,而成员对象只能够使用成员函数进行调用,而不会成为外部可操作的对象。

使用公有继承,基类的公有方法将成为派生类的公有方法。简而言之,派生类将继承基类的接口,这是

is-a关系的一部分。

 

参考: 《慕课网》

 

posted @ 2017-06-18 10:30  恍如隔世灬  阅读(1439)  评论(0编辑  收藏  举报