类中protected 修饰符 的作用

        之前学习C++的类的时候,发现设计一个类时,很少用到protected权限修饰符,一般都用public和private。需要被外部访问到的用public修饰,不需要被外部访问的就用private封装起来,但是学习的时候记得还有一个protected,当时一直搞不明白要多设计一个protected有什么用。

        直到最近在用Java编写一个CTS测试用例,才发现了protected好用的地方。因为最近使用类的继承使用的较多,在进行类的继承的时候,一般都是默认的public继承,也就是继承下来的成员访问权限基本不变,这样的话,如果原先为public的成员,则子类中同样可以用,原先为private的成员,在子类直接调用的时候出现了问题。那这样就有问题了,如果一个成员既需要被子类访问到,又需要能够保护起来,不被外界随意修改,public 和 private 好像都无法很好的解决这个问题,这时候protected 就派上用场了。使用protected 修饰的成员,在继承子类中仍然时protected,仍然可以被访问,但是外界不能对其随意访问,真是太巧妙了。真是一个物体的存在,必有其存在的价值啊。

猜你喜欢

转载自blog.csdn.net/Dhane/article/details/86217577