public 、private、protected方式

一个子类继承父类时,可按照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 基类成员在派生类中的的访问属性

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

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

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

 本文来自 zrx1832 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zrx1832/article/details/80850050?utm_source=copy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值