有点不太明白为什么要都写一遍

img

正在学面向对象,栗子里面把name部分用void和return分别写了一遍,有什么特别的作用吗,让我感觉好纠结,还有return那个作用是为了调用方法吗。请达佬祝我参透代码

直接用public暴露到外面的变量叫字段
而将变量定义成private,利用public函数操作的叫属性
这样做有几个好处
1.如果属性是只读的,你就不要写set方法,那么类外部只能获取值,无法修改值
2.当修改值的同时需要做一些额外操作时(比如一个text控件值修改的同时要更新UI显示),可以在set方法里调用代码,而无需在每个类外部修改值时调用代码
3.可以对值的有效性进行校验,避免外部随意对变量赋值,比如一个代表故障的变量,值只有0,1,2三种,那么在set里写个判断可以避免把它赋值成3

一个是get,一个是set,一个是读取属性,一个是修改、设置属性