我知道一个可以在Inspector面板下查看到而另一个不行
但是为了方便都定义成public不就完了?为什么要private
是不是安全性有影响?
这跟面向对象的设计思想有关。public是共有的,就是一个类暴漏给外面的接口,private是私有的,只有在类的内部能够访问。如果都设置成public,与面向对象的“封装”思想相违背。
一个对象,除了他暴漏给外面的必要的接口之外,其内部运作机制应该是封闭的。就是说,类的外面,可以不需要关心这个类是怎么运作的,只需要知道如何使用这个类即可,这样可以降低耦合性,方便好多人工作协作,也方便独立修改。
举个例子,好比一辆汽车,设计底盘的人可以不必关心发动机是怎么运作的,只要给他尺寸、螺丝的孔的位置、输出轴的直径等一些“接口”资料即可,他不需要也没必要也不应该去关心发动机类的具体内部细节。如果将来发动机发生了升级,只要接口不变,发动机内部做任何调整对于整个汽车来讲是无所谓的。