继承成员访问控制机制

本文详细介绍了访问控制机制在面向对象编程中的作用,包括Java和C++中的Public、Protected和Private修饰符。讨论了如何通过访问控制来限制类成员的访问权限,并详细阐述了在派生类继承基类时,不同访问控制对继承的影响。派生类无法继承基类的private成员,而Public和Protected的继承会根据继承访问控制调整成员的访问权限。
摘要由CSDN通过智能技术生成

1.介绍成员访问控制机制


访问控制机制用来实现面向对象的四个基本特征中的封装机制。Java和C++等面向对象的编程语言中都提供了四种访问权限修饰符,分别是Public(公共)、Protected( 保护)和 Private(私有)。

访问控制修饰符是限定一个名字的可访问性的,这里的名字可以是类,接口,成员属性和成员方法。

可访问性是一种在编译时期确定的静态特征,也就是说在编译时就确定了一个名字在什么范围内可以被访问,从而限制一个名字的访问权限。如果把访问控制比喻成房间的门,那么访问属性就是门的状态。

 这篇博客主要说明访问控制如何应用于类类型对象和派生类对基类的继承。



2. 控制对类成员的访问


Class 派生类:继承访问控制  基类{

public:

公有成员说明列表;

Protected:

受保护成员说明列表:

Private:

私有成员说明列表:

}

    其他类对此类中各个成员的访问权限如下表所示:


此类自身可以访问任何成员;

此类的派生类不能够访问private成员;

其他类只能够访问public成员;

这里需要注意:对于此类的一个实例化对象,它的访问权限相当于“其他类”。


3.控制派生类对基类的继承


访问控制机制在继承中的应用,实际上就是要看派生类能够继承基类的哪些成员以及这些成员的访问控制。

派生类访问基类中的成员变量的时候受两方面的限制,分别是基类成员访问控制继承访问控制 。

不同的基类成员访问控制和继承访问控制决定派生类访问基类成员能够拥有的访问权限


分析上表可以看出,派生类不能够继承基类的private成员

当继承访问控制是Public的时候,派生类能够继承基类的public和protected成员并且访问控制不变

当继承访问控制是Protected的时候,派生类能够继承基类中的public和protected成员但是访问控制全部变成Protected

当继承访问控制是Private的时候,派生类能够继承基类中的public和protected成员但是访问控制全部变成Private



评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值