访问控制——小甲鱼

1、所谓访问控制,就是c++提供了一种用来保护雷里的方法和属性的手段。这里所说的保护意思是对谁可以调用某个方法和访问某个属性加上一个限制。如果某个对象试图调用一个它无权访问的函数,编译器将报错。

2、访问级别:

级别 允许谁来访问
public 任何代码
protected 这个类本身和它的子类
private 只有这个类本身

利用访问级别来保护类里的方法和属性很简单,只要在类里的某个地方写出一个访问级别并在其后加上一个冒号,从那个地方开始往后的所有方法和属性都将受到相应的保护,知道遇到下一个访问级别或者到达这个类的末尾为止。

3、关于继承的访问控制:对一个类的派生类来说,在继承基类的过程中,不仅包含了基类的所有成员,还增加了自己的成员,而派生类中成员的访问权限则会因为继承权限方式的不同而不同。

相对于派生类成员的访问权限比较简单(派生类成员的访问权限就是取决于派生类中定义的权限),从基类中继承的成员的访问权限就相对较为复杂,这并不是简单地照搬基类的成员访问权限。基类成员在派生类中的访问权限与继承的方式有着密切的关系,在不同的继承方式下,访问权限也是不同的,总结如下:

若继承方式是public,基类成员在派生类中的访问权限保持不变,也就是说,基类中的成员访问权限,在派生类中仍然保持原来的访问权限;

若继承方式是protected,基类的共有成员和保护成员在派生类中的访问权限都会变为保护(protected)权限,私有成员在派生类中的访问权限仍然是私有(private)权限;

若继承方式是private,基类所有成员在派生类中的访问权限都会变为私有(private)权限。

基类成员权限 public继承方式 protected继承方式 private继承方式
public public protected private
protected protected protected private
private private private private

注:简单总结来说,public继承方式是最简单的,也是最常用的一种继承方式;private方式是使用最少的一种方式,因为权限太低;protected方式在实际使用过程中,常用于多重继承的情况。

猜你喜欢

转载自blog.csdn.net/weixin_42617472/article/details/82834545
今日推荐