java中的getter和setter方法(java getter和setter方法)

核心提示:如果不用,技术上完全可以直接把变量定义为public直接访问。但这只是说技术上。实际项目中不会这么做。那很多人可能会想为什么要这么麻烦呢?

如果不用,技术上完全可以直接把变量定义为public直接访问。但这只是说技术上。实际项目中不会这么做。

那很多人可能会想为什么要这么麻烦呢?因为用函数封装可以隐藏内部实现。

一般情况下,我们的get/set方法就是直接返回内部私有变量,感觉上有没有这个函数其实无所谓。但是在项目开发中。随着项目软件的更新,功能的增加和修改,可能未来要删除或者修改这个变量了。这种时候封装的好处就体现出来了。

举个例子,比如有一个正方形的类,内部保存了正方形相对于屏幕的位置,但是这个位置是正方形的左上角坐标,有一个函数getPosition返回这个坐标,那么第一版可能就是直接返回的这个位置变量。但是随着程序的开发,更多的时候需要用到正方形的中心位置,而类的内部也不需要用到左上角坐标了,所以对类的内部进行了修改,删除了这个坐标变量。

那么如果没有封装的话,就不能轻易修改这个类,一但修改,曾经所有用到左上角位置变量的地方就都需要修改。那将是天大的灾难。但是有了封装,曾经使用的地方,其实用的是一个函数。那我们修改类的时候只要修改一下这个函数的内部算法,用中心位置计算一下左上角位置返回出去,那么对于用到这个函数的地方根本不需要修改,因为他们并不知道也不需要知道类内部调整了,继续用就可以了。也不会出现问题。而类的内部我们做的任何修改,只要不影响之前函数的功能,就没有问题。这个就是封装的好处。

所以才会有get/set函数,不单单是java,c 等只要是面相对象的编程语言都一样的,这个是一个编程的思想。而并非是java独有。

还是C#简单,有属性器的概念,java只能靠函数模拟

上一篇: 女销售原来靠这样卖房(楼盘置业顾问提成大概多少)
下一篇: 比特币能涨到1000万吗