setxxx()和getxxx()不能合在一起 换成一个有参数有返回值的封装吗?
private后面的值别的类也不能调用,我想是不是setxxx()和getxxx()可以合在一起 换成一个有参数有返回值的方法封装?
private后面的值别的类也不能调用,我想是不是setxxx()和getxxx()可以合在一起 换成一个有参数有返回值的方法封装?
2020-06-29
setter和getter方法分开的目的就是作用不同
setter是用户或者其他程序员对你这个类里面的数据进行输入,这个时候是需要有参但不需要返回值,
getter是用户或者其他程序员调用你这个类里的属性值,需要返回值不需要参数,如果说合在一起,有参有返回值,
那当别人想要调用你这个类里的属性还要给一个参数进去,显然是不合理的,
而当别需要存入一个值的时候,一般也是不需要有返回值的,但是你还返回一个值,显然是多余的,所以不会把这两个写在一个方法里,这也不合理,看下面的例子
public class Demo{ private int a; public int setGet(int a){ int i = a; return i; } }
很显然,上面的代码返回值就是用户输入的值,既不能做到存储数据,也无法做到读取原来的数据,如果加入各种判断,那显然是更加的复杂化了,所以,setter和getter语句不合在一起,而是分开写。
举报