黑马程序员技术交流社区

标题: 还是不明白set get方法以及return的用法,大家谁能给我讲讲... [打印本页]

作者: zc332750    时间: 2014-2-8 09:53
标题: 还是不明白set get方法以及return的用法,大家谁能给我讲讲...
本帖最后由 zc332750 于 2014-2-8 10:16 编辑

还是不明白set get方法以及return的用法,大家谁能给我讲讲下面这段代码什么意思啊啊啊public class Yonghu {      
   private int id;      
   private String name;        
   private String password;                 
    public void setid(int id){                 
    this.id=id;
        }   
      public void setname(String name){
                 this.name=name;
         }      
       public void setpassword(String password){  
               this.password=password;
        }
     public int getid(){
             return this.id;
     }
     public String getname(){
            return this.name;
     }
     public String getpassword(){
             return this.password;
     }
}


作者: 付江涛    时间: 2014-2-8 10:05
代码好乱…
我也不是太懂,感觉没必要get
作者: 残梦共飞雪    时间: 2014-2-8 17:24
个人理解:
  set:设置
  get:获取
  return:返回、输出

在题主所给类中。
setXXX,设置XXX的值。
getXXX,获取XXX的值。
return XXX,返回输出XXX的值。

get是否有必要,则有这种情况:
不用get,即class.i,相当于既有get又有set。违背单一功能。
class.getI == 1;
class.I==1;
class.getI = 1;(意外问题,会发现)
class.I = 1;(意外问题,吃苦果)



作者: 罗安迪    时间: 2014-2-8 18:11
亲 其实set和get的目的就和他们翻译出来的一样的,为了 设置和获取。你可以注意到前面的成员变量都是private,意味着class外部不能直接访问成员变量的值,从而实现了java封装的特性。既然不能直接访问,那么只有间接访问了,于是就有了set和get组合出来的一系列方法。setname就是设置名字。setpassword设置密码,类外部通过这些set与get方法间接访问了成员变量。
作者: 罗安迪    时间: 2014-2-8 18:14
return就是返回结果。一个函数有数据进去就会有数据出来,而return就是把结果跑出来的命令。
作者: 无道    时间: 2014-2-8 19:14
封装,,,看看基础加强视频。
作者: zc332750    时间: 2014-2-9 21:32
本帖最后由 zc332750 于 2014-2-9 22:17 编辑

补充:使用set get 方法是不是只是个人的编码习惯?与直接调用对象.变量名 有什么区别呢?
作者: 630681386@qq.co    时间: 2014-2-10 09:48
其实你还是没有明白面向对象的特性,封装,建议你好好看看毕老师的封装的技术视频




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2