当前位置: 代码迷 >> 共享软件 >> 为啥一些公开代码,对象成员变量改变都要专门写个赋值函数
  详细解决方案

为啥一些公开代码,对象成员变量改变都要专门写个赋值函数

热度:194   发布时间:2016-04-29 10:49:09.0
为什么一些公开代码,对象成员变量改变都要专门写个赋值函数?
我有时候看一些国际或国内的规范代码和一些高手代码
就以Java和C来说
比如Class Person
String name;
int Salary;
但是读取和修改这个类成员变量的时候,往往是用person1.setname  person1.getname
而不是直接对变量修改,我想问下,这是为什么?

就是很多人不用person1.name="";而且那个变量不是public
而是用public的setname getname函数来存取 

这是两个都可以的吗?优劣在哪里?是不是直接操作成员变量快啊?为什么要打这些字?为什么我看的一些代码都用函数?


------解决思路----------------------
面向对象的惯例
通常不希望变量被直接访问

学校里数据结构等课程是比较早期的计算机界流行的思想,讲究省内存拼速度,直接访问最便捷

面向对象界是后来设计模式那帮人弄的,各种模式,各种预留层面,有利于降低耦合和多人开发和代码抽象清晰等好处,缺点是规范套路花拳绣腿太多,有时作茧自缚

自己根据实际情况取舍吧
------解决思路----------------------
JAVA bEAN规范!
面向对象编程规范,私有化成员,访问通过get set方法.(面向对象:你的钱包希望别人随便掏吗?)
  相关解决方案