程序设计中c#中的属性是什么??

程序设计中c#中的属性是什么??,第1张

在C#中,我们可以非常自由的、毫无限制的访问公有字段,但在一些场合中,我们可能希望限制只能给字段赋于某个范围的值、或是要求字段只能读或只能写,或是在改变字段时能改变对象的其他一些状态,这些单靠字段是无法做到的,于是就有了属性,属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。在两个块中都可以做一些其他 *** 亏携作,如在set中验证赋销则伏的值是否符合要求并决定是否进行赋值。当缺少其中一块时属性就只能读或只能写,set和get块中属性必需有一个,因为即不能读又不能写的属性是没有意义的盯启。

class MyClass

{

Private string name

public string Name

{

get {return Name}

set {Name=value}

}

}

(1)属性可以保证安全,当不在本类中使用时可以保证使用属性名可以避免

用字段的名字。

(2)属性的set和get函数可以限制字段的一些功能,以达到某种目的。

如:

private int a=0

public int A

{

get{return this.a}

set

{

if(value >= 0 &&value <= 100)

this.a=value

else

throw new Exception("值的范围不合法。")

}

}

(3)属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。

属性的严格写法是

public class a

{

public string a

public int b

}

这个才叫属性,属性是一个类的变量,属性作为变量不承担任何计算过程

而属性过程则不同

属性过程的写法

public class a

{

private string a

private int b

public string a

{

get

{

return this.a

}

set

{

this.a=value

}

}

public int b

{

get

{

return this.b

}

set

{

this.b=value

}

}

}

属仿激性过程则不同,属性过程可以首并理解为特殊的方法或函数,这个方法只有一个参数并且只能返回一个值。

属性过程的作用在于,对输入数据的有效性处理

设想一下用户注册这个功能

用户注册有一个用户类

用户类有一个属性用户名

public class user

{

public string username

}

而通常限制用户注册用户名不能为空要在用户界面去限制。

user Objus=new user()

if(Objus.username==null)

{

throw new Exception("用户名不能为空")

}

这样写的确没错者大迹,但是如果你登陆里也要限制用户名不能为空,用户修改资料里也得限制,这时候还得写一遍上面的代码,而这样就会有很多重复的代码。

就算你能复制粘贴,这些代码也是重复的每回你也要复制粘贴才可以。

如果用属性过程

public class user

{

private string _username

public string username

{

get

{

return this._username

}

set

{

if(value==null)

{

throw new Exception("用户名不能为空")

}

this._username=value

}

}

}

这时你登陆界面只需两行代码就验证了用户名不能为空

user Objus=new user()

Objus.username=this.Textbox1.Text

就两行就可以,其他地方也是一样,这就是属性过程。

事件就是发生在该对象上的事情,系统为每个对象预想定义好了一系列的事件,例如:单击、双击、装载

属性是用来描述和反映对象特征的参数。例如:控件名称、标题、文本、颜色、字体、可见性

方法是附属于对象的行为和动作的,也就是可以理解为指使对象工作的命令,是为程序设计人员提供的一种特并神殊过程迟蔽,可供用户直接调用。例如:text1.setfocus(此语句使TEXT1控件获得焦点绝旦亏)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8229550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存