类成员的区别
类的成员(属性或者方法)可以被定义为public,protected或是private,它们限制在这个类的外面要访问这些成员的规则。
- 对于public,大家哪儿都能访问
- 对于protected,只有子类可以访问
- 对于private,在这个类外面谁都不能访问
继承的区别
我们在写一个子类的时候,继承一个父类,可以选择public/protected/private继承,他们表示要把从父类继承来的成员以何种属性放到现在这个子类中(能继承到的只有protected和public成员,private成员只有父类自己能访问)
- 如果是public,表示把继承来的东西都放到public类别中,所以在这个子类外面也可以被大家访问(但是注意,子类也能访问父类的protected成员,它们继承下来后还是protecetd的)
- 如果是protected,表示把继承来的东西都放到protected类别中,所以只能被子类的子类访问,而对于原来父类的protected成员,继承下来后还是protecetd的
- 如果是private,表示把继承来的东西都放到private类别中,所以除了子类自己谁都不能访问,原来的protected成员现在也成了private,子类的子类也不能再访问它们了
总结
也就是说,在继承后,原来的访问限制只会更加严格,严格程度private>protected>public
网友评论