A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙毅 中级黑马   /  2012-6-11 23:40  /  4271 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题{:soso_e124:}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

15 个回复

倒序浏览
在类中get和set是两个封装好的方法,这样可以保护数据不被随便修改,只有通过get方法来获取类中的属性值,通过set来设置类中的属性值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
get方法是用来取值的,set方法是用来赋值的。例如:get{return name;} set{this.name=value;}。两者合作,共同封装数据,但是两个不同的方法。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
这是封装好的方法,用来获取和设置变量的值。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
是经过微软高度封装的两个取值与赋值的方法,方便程序员开发使用;
set是赋值,通过影藏参数value赋值给字段;
get是取值,通过return 返回字段的方式获取值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
对于类的属性,我们不希望被外部类直接进行访问,只为自己所属的类服务,就可以将这个成员修饰为private,然后我们提供相应的setXXX() 和getXXX(),boolean类型为isXXX和getXXX() ,这些方法都是public的。这样对类的成员变量的访问是比较安全的。在类外部要访问这些私有的成员,必须通过这些共有的方法。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
VS为什么用得如此顺手?就是因为微软打包封装了很多这样的东西。你只管调用即可。{:soso_e113:}
回复 使用道具 举报
李玲 中级黑马 2012-6-12 10:26:25
8#
set给属性赋值,同时可以在set访问方法里加入判读条件来过滤掉不合法的数据。
get是获取属性的值。如果这个属性是只写的话,就可以不写get方法,保证数据安全。
get和set是2个独立的访问方法 和 顺序无关。
get 表示获取某个变量值。     set 表示设置某个变量值
get用于取得属性的值,set用于给属性赋值
get和set 方法用于private数据中,如果一个类中的数据已经设为private,那么在其他类中已经不能调用他,只能通过get和set方法。
set/get方法一般是bean类里的函数,实体bean里一般就有private权限的变量,但是要访问他们就要有函数了,就是public权限的set/get方法分别修改和读取变量的值
用这种方式的好处是提高安全性,你可能想这样还是能修改怎么就提高安全性了呢。。是这样的,如果直接把变量设成public权限的,这样不用set/get,这样也在其它类中可以直接使用这些变量,完全没有安全性。我觉得还能避免多个bean中变量名相同的问题
通俗来讲:get是获取值  set是设置值

比如这句: get { return _id; }
如果调用这个get方法 就能获得方法return的 this._id =value(返回的值)
调用方法:Console.Write(对象 _id);(输出该属性的值)

比如这句:set{this._id =value;}  
如果调用这个set方法 就可以重新设置_id的值 value就是你新设置的值
调用方法:对象._id="新值";(为该属性附新值)

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
因为一个是取值,一个是赋值嘛.
set是赋值
get是取值

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报

反编译证明了下。。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
因为它们确实是两个方法。。。 - -#  属性就是对字段的封装,你也可以在其中加入一些自己的逻辑进去。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
C#属性中,get是返回某个字段的值,set是设置某个字段的值。
get方法:
string   a;
a=类名.属性方法
set方法:
类名.属性方法=a

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
其实要想说明这个问题,还是要用“reflector”反编译一下!!!
回复 使用道具 举报
get{}和set{}是访问器
get{}访问器不带参数,它用于向外部指定字段的值,通常使用return语句返回某个变量的值
set{}访问器是一个无返回值的方法,用于接收外界的一个值,将其赋给类中的一个字段
如果一个属性只有get{}访问器,那么这个属性是只读的
如果一个属性只有set{}访问器,那么这个属性是只写的

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
get 是方法函数,有返回值,set 是方法过程无返回值。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
set和get就是用于设置和读取Java变量的方法。这样子外部程序就不会直接访问程序的变量。只能通过set去设置值,用get去读取值。有利于对外封装。防止外部程序随意修改我们的变量。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马