C#里面为什么有时候要用get set设置属性?

平时自己写程序从来没用过这东西也可以实现功能,但是看许多程序都有这些,就是搞不明白为什么要这样做,比如炒作数据库的。帮忙解释一下,给个例子。

你所说的情况应该是定义一个属性,使之为private私有,然后一个public方法可以获取或设置该属性值吧这就是体现代码的封装性,因为如果你直接把属性定义为公开的话,那么任意地方创建该实例,就都可以使用该属性,就难以确保安全性等。。而如果写成一个方法来调用的话。那么你就可以设置相应的访问权限,是子类访问,还是包内访问,抑或是单例等之类的。。。操作更灵活
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-05
这是一种设计原则,称之为面向对象的封装性。从现在的开发角度说,是不建议直接将成员(指的是变量)直接用公开的方法供其它类访问的,因为这可能会导致有其它不可预见的时候意外修改了变量,或导致其它类似的问题。当使用get、set将变量封装为属性以后,可以控制它们的可见性(能否被读取、能否被修改、能被谁操作等),修改的时候可以对将要修改的值进行验证是否合法,防止被其它类意外修改。这些都是面向对象设计的方法。想知道详细的资料,可以搜索面向对象的相关特性:继承、封装和多态。建议
第2个回答  2015-10-06
这是一种设计原则,称之为面向对象的封装性。从现在的开发角度说,是不建议直接将成员(指的是变量)直接用公开的方法供其它类访问的,因为这可能会导致有其它不可预见的时候意外修改了变量,或导致其它类似的问题。当使用get、set将变量封装为属性以后,可以控制它们的可见性(能否被读取、能否被修改、能被谁操作等),修改的时候可以对将要修改的值进行验证是否合法,防止被其它类意外修改。这些都是面向对象设计的方法。想知道详细的资料,可以搜索面向对象的相关特性:继承、封装和多态。建议
第3个回答  2013-08-05
要确保安全

c#为什么数据类型后面要加上属性{set;get;}?
在C#编程中,数据成员的使用是否需加上属性{get;set;},这与成员的用途和安全性紧密相关。不加{get;set;},数据成员仅作为字段,通过反编译工具只能找到字段,且建议保持私有性,避免使用更广泛的访问修饰符如public。而加上{get;set;}后,数据成员成为属性。属性在反编译后可见三个成员,两个方法和...

C#里面为什么有时候要用get set设置属性?
这是一种设计原则,称之为面向对象的封装性。从现在的开发角度说,是不建议直接将成员(指的是变量)直接用公开的方法供其它类访问的,因为这可能会导致有其它不可预见的时候意外修改了变量,或导致其它类似的问题。当使用get、set将变量封装为属性以后,可以控制它们的可见性(能否被读取、能否被修改、...

程序类设计get方法和set方法的作用是什么
一般类的成员变量被设置为private(私有的),这样设置安全性比较高,但是设置为私有的后其他的类和对象则无法调用该对象了,所以会有get和set方法,这两个方法一般设置为public,在其他的类中通过对象调用set或get方法即可操作私有的变量,增强程序的安全性,set为给对象赋值的方法,而get则是取得变量值的...

c#编程,属性那里,使用get,set有什么好处吗?
严格来讲,这是面向对象中“封装”这一概念的体现,为了保证代码的安全性。get,set是“属性”这一概念中的2个方法。俗称“访问器”。 举一个不太恰当的例子,3个人:老板,秘书,员工,秘书就是”属性“,get-》秘书将老板的指示传递给员工,set-》秘书将员工的意见传递给老板。为的就是不让员...

C#程序,这里的get和set两句是什么意思?为什么要这样写?
这是类的属性。“get”和“set”分别对应属性的“读取”和“写入”。就像TextBox控件,你要读取控件中的文本放到str变量中,语句应该是 private string str=TextBox.Text;\/\/这里用到get属性要设置控件文本的值为“abc”,语句应该为 TextBox.Text="abc";\/\/这里用到set属性那么,该控件的Text读写...

提问一个关于C#属性的问题,!!!
get set属性有两个用途:1、增加了代码灵活性。比如你想在给属性赋值的时候同时刷新界面控件,就可以在set属性时候写一点代码实现,如果直接public就不可能做到了。2、增加了属性安全性。比如你不想别人给属性赋值,只能读取,就可以删掉set只留下get。或者不想小于0的值付给属性,就可以在set里判断。好...

c# 中的GET 和SET ,到底有什么用?到底应该在什么时候用?
set\/get一般都是用来处理具体某一对象的,比如说学生对象。在写set\/get的时候,也一般把其成员设置成private属性,而另外对每个属性分别写一个set和get方法来设置和获取它的值。在一个网页中,如果要用来该bean,通常把个控件的名字写成与bean中定义的各属性名字一样,这样有一个好处就是可提交表单的...

C#中的get和set有什么用
get\/set为获取或者设置类中的属性 比如:private int _count;public int Count { set { \/\/value是属性中的关键字 \/\/代表你传入的值 this._count=value;} get { return this._count;} } 可以在属性中做验证或者通过属性对某个属性进行保护 ...

C#中读写全公开的属性{get;set;}有什么意义
控件是给别人用的,用属性可以对用户的输入作必要的检查和限制,既增强稳定性,也保护了私有数据,自己写的小程序恨不得连类都不用,用了也全public,这跟自己用电脑是管理员登陆,借给别人用是guest一个道理

怎么更好的理解C#编程中的属性,set和get的用法?
所以C#语言引用了属性,它们的一对set和get方法可以对某一字段进行分别的控制,比如你只给它get方法,那么这个字段就可以通过该属性读取,而不能写入,如果你给它private set方法,那么它可以写入,但只能在类内部的方法中进行。等等好处不一而足。总的来说,你把属性理解成字段的“守卫”,它们为了提供...

相似回答