C#中的get和set有什么用 声明属性
来源:互联网 发布:排球 知乎 编辑:程序博客网 时间:2024/04/20 05:51
我知道get set的作用这是属性,get具有读取功能,set是写入功能,你可以看C#里的属性。1.作用就是对字段进行封装,类似javabean的用途。没有也可以,但是破坏了OO的封装性。2.如果只有get和set其中之一的方法的话就实现了对字段的保护。只读或者只写。
get/set为获取或者设置类中的属性比如:private int _count; 定义私有变量public int Count 设置类中的变量(数据字段)属性{set{//value是属性中的关键字//代表你传入的值this._count=value;}get{return this._count;}}可以在属性中做验证或者通过属性对某个属性进行保护..........但是有的程序里 private string strName; public string StrName { get { return strName; } set { strName = value; } }这个get set段里,也没有判断 过滤什么的!get只是取出strName的值set只是设置strName的值这和public string strName;有什么区别?还是为了以后修改做准备?这里在属性声明中要用到的:如:class ClassA{ private int _a; public A(int a) { this._a = a; } public int A { get { return this._a; } set { this._a = value; } }}在类ClassA里面有一个私有的变量_a,我们通过声明属性A,用GET来返回_a的值,用隐藏参数value来为_a赋值,这样就可以实现外部成员对其值的获取(int val = ClassA.A;)和赋值(ClassA.A = 1;)操作了.当get和set同时存在时表示这个属性是可写可读的,当然也可以只存在get也就是说只能访问而不能更改其值,如果只存在set那么就刚好相反只能对其进行赋值操作了.同果我们也可以通过属性来增加一层逻辑,比如说我们有优秀学员的类,其分数必需大于60分,那么我们可以在set下面加一层限制 public int A { get { return this._a; } set { if(value >= 60) this._a = value; } }
.............................
这是C#中的属性 public string UserName { get { return this._username; } set { this._username = value; } } 通俗来讲..get是获取值 set是设置值比如这句:get { return this._username; } 如果调用这个get方法 就能获得方法return的 this._username(返回的值)调用方法:Console.Write(对象.UserName);(输出该属性的值)比如这句:set { this._username = value; } 如果调用这个set方法 就可以重新设置username的值 value就是你新设置的值调用方法:对象.UserName="新值";(为该属性附新值) 个人理解:1.在封装数据库字段的时候非常有用,相信大家都这么用。2.你可以吧UserName当成一个这个类的一个属性,这个属性由字段_username的值确定,也可能不是_username,而是经过_username变化的。你可以在GET、SET中作相应的处理。比如这样:public string UserName { get { if(string.IsNullOrEmpty(_username))return ERRORCODE;return this._username; } set { if(string.IsNullOrEmpty(_username))this._username = defaultusername;this._username = value; } } 所以,封装以后,比没有封装更加方便。如果你要做条件判断、转换等 操作,在GET、SET你做会更方便。而且还保护了原字段。假设_username是数据库字段,如果程序员不想公开这个属性,而是做一些变换,这样数据安全性更高。
............
- C#中的get和set有什么用 声明属性
- C# set()和get()有什么作用
- 浅析C# get set用法(属性声明和访问)
- C# get和set属性
- c#中的get和set...
- c#中的get和set
- c#中的get和set
- C#中的get和set
- C#中的属性(get、set、value)
- C#.NET常见问题(FAQ)-get set属性有什么意义
- C# 属性和字段 get set
- C# GET 和 SET属性作用
- C# get;set;属性。
- c#中 get {return 字段;} set{字段=value;} 有什么用啊?
- C#中的GET和SET访问器
- C#和java中的Get()与Set()
- c#中的get和set的用法
- C#中的get和set 方法
- HTTP POST GET 本质区别详解
- IOS-info.plist详解
- struts2 学习笔记之 struts.xml 配置解析
- OCP-1Z0-053-V12.02-532题
- 怎样加快C++代码的编译速度
- C#中的get和set有什么用 声明属性
- web集群时session同步的3种方法
- rails 4 + devise 3.1.0 中退出登录出现 No route matches [GET] "/users/sign_out" 错误
- gdb 调试 程序执行脚本信息
- LoadRunner性能测试参数化(参数数据UTF8编码)
- 设计模式资源总结---模式无处不在
- C#索引器
- 【11月限时免费】2000张人脸关键点数据
- Android.mk高级写法