关键字:public private protected
a. 权限控制符在类中的作用
b. 权限控制符在继承中的作用
c. 权限控制符作用于类级,并非对象级
一. 权限控制符在类中的作用
访问权限可以从以下三个范围来区分:
x. 某类的内部
y. 该类的派生类(子类)内部
z.该类外部,也就是该类的使用者客户
public在xyz中都可以访问,protected在xy中可以访问,private在x中可以访问。
访问权限的意义:
1. public,private主要体现类的封装性,public类外可以访问,一般定义接口。
private只能在类内部访问,用于隐藏实现。
2. protected主要体现类的继承,也是public和private的一个折中。
protected类外不能访问,但子类可以访问。
二. 权限控制符在继承中的作用
Note前提: 不管是什么继承方式,当前类的private成员,其派生类都是不可以直接访问的
当然其派生类可以通过基类的其他接口间接访问。
不管控制权限如何,继承方式如何,派生类都会继承基类的所以成员,包括private成员。
访问权限和继承方式只是决定派生类对基类的成员的可访问性。
public,protected,private这三种继承方式,不会影响派生类成员访问基类的成员。
不管是哪种继承方式,派生类都可以访问基类的public,protected成员。
不同的继承方式只是决定了基类的成员被继承在派生类后,外部客户是否有权限访问这些成员。
1. public继承后,子类可以访问父类的public,protected成员,子类的客户(即子类外部)还是保持
原有的访问权限。
2. protected继承后,子类仍可以访问父类的public,protected成员,子类的客户就不能访问这些成员了。
3. private继承后,子类仍可以访问父类的public,protected成员,子类的客户也不能访问这些成员了。
4. protected继承后,派生类继承的public,protected成员的访问权限为protected,这表示它们在后面的继承
中仍然可以被后面的派生类直接访问。private继承则导致直接访问权限结束。