什么是可见性
可见性是面向对象中的概念,它是指一个类中的成员或方法是否可见,即谁能够访问,谁能够调用?可见性不会影响代码的性能,它仅在语言层面,只是用来辅助写出更好的代码。
可见修饰符(访问修饰符)
private
意味着只有自己这个类,或用friend
(友元)标记的类能够访问到这些变量。
protected
protected
的可见性比private
高,比public
低。意味这个类及其派生类都可以访问到这个成员。
public
显然,任意类或函数都能访问的成员。
为什么要区分可见性
比如想要修改界面上的一个按钮,它的X值表示位置。当一切都是public
时,我可能想直接给X赋值并刷新界面,但当界面刷新的时候,代码又会读取默认设定的X,于是修改失败。但同时,界面的设计者也设计了SetX()
函数,包含了赋值与刷新的操作。如果把X设定为private
,把SetX()
设定为public
,就能让使用者一目了然,让代码变得易读易维护。
教程来源:The Cherno C++ 教程