三种继承的特点

转载 2018年04月16日 15:32:14

一个子类继承父类时,可按照public、private和protected方式继承父类,每种继承方式的区别如下:

1) public继承方式

  • 基类中所有public成员在派生类中为public属性;
  • 基类中所有protected成员在派生类中为protected属性;
  • 基类中所有private成员在派生类中不可访问。

2) protected继承方式

  • 基类中的所有public成员在派生类中为protected属性;
  • 基类中的所有protected成员在派生类中为protected属性;
  • 基类中的所有private成员在派生类中仍然不可访问。

3) private继承方式

  • 基类中的所有public成员在派生类中均为private属性;
  • 基类中的所有protected成员在派生类中均为private属性;
  • 基类中的所有private成员在派生类中均不可访问。


表1 基类成员在派生类中的的访问属性
基类中的成员在公用派生类中的访问属性在私有派生类中的访问属性在保护派生类中的访问属性
私有成员不可访问不可访问不可访问
公用成员公用私有保护
保护成员保护私有保护

不管哪种继承方式,父类的私有成员都不可以访问,只有间接的通过公有成员才能获取到私有成员的值


protected存在的意义是当我不想向外部暴露某个函数或者成员变量,但是我又想让派生类知道和访问这个成员,就将其用rotected标志。
举例:
你爹有两笔存款,一笔是他养老用的,一笔是留给你买房的,养老用的这部分钱你肯定不能拿而且大概你也不知道有多少钱,但是给你买房用的你就可以随便拿,如果你连养老用的这部分钱都拿了那你就是不肖子了,但是你爹可以随便动给你买房的钱(因为钱是他赚的)。当然,不管是养老用的钱还是给你买房用的钱,外人都不能动而且也不知道。

自定义控件——继承已有控件

-
  • 1970年01月01日 08:00

C++的三种继承方式简述

C++对父类(也称基类)的继承有三种方式,分别为:public继承、protected继承、private继承。三种继承方式的不同在于继承之后子类的成员函数的“可继承性质”。 在说三种继承方式导致的子...
  • Lv_Victor
  • Lv_Victor
  • 2015-09-14 11:33:05
  • 935

C++三种继承方式的区别

// test1.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "iostream" using namespace std; cla...
  • d06110902002
  • d06110902002
  • 2016-05-24 18:32:10
  • 1034

C++中类的三种继承方式比较

C++中类的三种继承方式比较 (1)公有继承 (public继承)      公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然为私有的...
  • YF_Li123
  • YF_Li123
  • 2017-06-01 15:22:14
  • 844

JAVA继承特点的小总结

继承父子类: 子类是对父类的扩展。例如父类是水果,而子类是苹果;子类就是在父类的基础上进行更具体的扩展。 PS。但子类不能继承父类的构造器关键字:extends 用法:class 子类名 ext...
  • qq_31515611
  • qq_31515611
  • 2016-03-28 21:30:08
  • 699

C++三种继承方式

  • 2017年06月10日 21:37
  • 23KB
  • 下载

详解继承特性

当多个类中多次重复的代码时,怎么减少代码量了?可以定义方法,将重复的代码抽取出来,但是有些时候功能是一样的只是会不断的升级等等, 如果我们不断的定义方法自会让我们的代码越来月多,那么有什么好的解决方法...
  • qq1723205668
  • qq1723205668
  • 2016-06-20 22:56:45
  • 681

三种基本的继承类型

伪类 通过构造函数产生对象 'use strict';let Animal = function(name,age){ this.name = name; this.age = ag...
  • qq_31805885
  • qq_31805885
  • 2017-12-04 16:50:55
  • 75

LVS集群的体系结构以及特点

  • 2013年09月25日 14:48
  • 1.78MB
  • 下载

面向对象_Java中类的继承特点

/* Java中继承的特点: A:Java中只支持单继承,不支持多继承。 有些语言是支持多继承的(c++),格式:extends 类1,类2,... B:Java支持多层继承(继承体系) */ ...
  • L1585931143
  • L1585931143
  • 2016-09-26 22:35:20
  • 647
收藏助手
不良信息举报
您举报文章:三种继承的特点
举报原因:
原因补充:

(最多只允许输入30个字)