C#属性的理解
来源:互联网 发布:科比06赛季场均数据 编辑:程序博客网 时间:2024/03/29 21:18
属性是这样的成员:它们提供灵活的机制来读取、编写或计算私有字段的值。可以像使用公共数据成员一样使用属性,但实际上它们是称为“访问器”的特殊方法。这使得数据在可被轻松访问的同时,仍能提供方法的安全性和灵活性。
1).属性使类能够以一种公开的方法获取和设置值,同时隐藏实现或验证代码。
2).get 属性访问器用于返回属性值而 set 访问器用于分配新值。这些访问器可以有不同的访问级别。
3).value 关键字用于定义由 set 索引器分配的值。
4).不实现 set 方法的属性是只读的。
属性的特点:
1)允许调用方法,如同它们是公共数据成员。
2)可以通过简单的名称进行访问。
3)可以为静态成员或者实例成员。
4)属性的get访问器没有参数。
5)属性的set访问器包含隐式value参数。
举个例子:
using System;
public class Person
{
//私有字段_age,_name类外不能访问,可通过属性name,age访问
//属性是特殊的方法
private string _name;
private int _age;
public string name //最基本的属性,未在get{}、set{}里面提供控制操作
{
get //取值访问器
{
return this._name;
}
set //赋值访问器
{
this._name=value;
}
}
public int age
{
get
{
if(this._name=="ben9144") //当实例的姓名设置为ben9144时,控制输出值为25岁
{
return 25;
}
else
{
return this._age;
}
}
set
{
if(value>0 && value<100) //当实例的年龄设置控制为0-100间才有效
{
this._age=value;
}
else
{
Console.WriteLine("你输入的年龄不合理,必须在(0,100)间!");
}
}
}
}
public class MyProperty
{
public static void
{
Person p =new Person();
Console.Write("请输入一个人的姓名:");
p.name=Console.ReadLine();
Console.Write("请输入此人的年龄::");
p.age=Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入的姓名:"+p.name); //通过name属性访问私有字段
Console.WriteLine("输入的年龄:"+p.age); //通过age属性可以对私有字段_age提供可控制性的访问
}
}
结果:1.当输入的姓名为ben9144,则输出的年龄始终为25(输入年龄若超出0~100,输出还是25岁但提示输入年龄不合理)2.当输入的姓名为其它的,年龄为实际输入(输入年龄若超出0~100,提示输入年龄不合理)
- C#属性的理解
- C# get set 属性的理解
- 我对C#属性的理解
- 深入理解c#的字段与属性
- c#属性理解
- 理解C#中属性的概念和作用
- 【C#属性理解】--与SQL交互用到的 【DataSet】相关
- 对C#中Thread.IsBackground属性的理解
- 对C#中Thread.IsBackground属性的理解
- 对C#中Thread.IsBackground属性的理解
- 理解网络分析的属性
- 依赖属性的理解
- 理解文件的属性
- 属性动画的理解
- getChildDrawingOrder属性的理解
- C# 非模式窗体show()和模式窗体showdialog()的区别及Owner属性的理解
- 使用C#的属性
- c#的属性
- Visual C++ 2005 中的命名返回值优化
- php用Smarty模板生成html文件
- 读取xml 文件
- 30岁而立之前成功12条黄金法则
- c#参数值传递与引用传递的剖析
- C#属性的理解
- C#编程命名规则
- Hashtable用法
- 动态生成控件 并捕捉事件
- 对象与引用变量-----初学c#者的困惑
- ACE Proactor前摄器模式的服务器端代码
- 需求帮助
- 寻求帮助
- 报考NCRE-三级数据库技术考试