我有时候看一些国际或国内的规范代码和一些高手代码
就以Java和C来说
比如Class Person
String name;
int Salary;
但是读取和修改这个类成员变量的时候,往往是用person1.setname person1.getname
而不是直接对变量修改,我想问下,这是为什么?
就是很多人不用person1.name="";而且那个变量不是public
而是用public的setname getname函数来存取
这是两个都可以的吗?优劣在哪里?是不是直接操作成员变量快啊?为什么要打这些字?为什么我看的一些代码都用函数?
------解决思路----------------------
面向对象的惯例
通常不希望变量被直接访问
学校里数据结构等课程是比较早期的计算机界流行的思想,讲究省内存拼速度,直接访问最便捷
面向对象界是后来设计模式那帮人弄的,各种模式,各种预留层面,有利于降低耦合和多人开发和代码抽象清晰等好处,缺点是规范套路花拳绣腿太多,有时作茧自缚
自己根据实际情况取舍吧
------解决思路----------------------
JAVA bEAN规范!
面向对象编程规范,私有化成员,访问通过get set方法.(面向对象:你的钱包希望别人随便掏吗?)