刚刚学C#的时候,很多人都不明白属性的访问器有什么用呢,我上网见了不少的评论,拉下来给大家看看
一般面向对象编程语言都要求成员变量不能直接暴露给外部访问,如下: public class A { public int Age; //这是不好的,待会有程序员可能把-1赋给Age } 为了防止乱赋值,C#设计了一个属性机制,要求把成员变量设为私有,在通过属性来控制成员变量的读写,如下: public class B { private int age; //私有成员变量 public int Age //age的属性 { get{ return age; } //读取器 set{ //写入器 if(value>0) age = value; //value是准备写入的值 } } } 这样Age就像保安一样,挡在age的前面。访问age的时候需要通过Age许可,如下: B b = new B(); b.Age = -1; //这是不行的,-1被带入value,value<0,判断不成立 b.Age = 10; //这是可行的
如果还有不懂的话可以留言,我尽量教会你,下面是我一个简单是例子
//-------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
public class Myclass
{
private string id="";
private string name="";
public string ID
{
get
{
return id;
}
set
{
id =value;
}
}
public string Name
{
get
{
return name;
}
set
{
name =value;
}
}
}
class Program
{
static void Main(string[] args)
{
Myclass clazz = new Myclass ();
clazz.ID ="BH001";
clazz.Name="MR01";
Console.WriteLine(clazz.ID,clazz.Name);
Console.ReadLine();
}
}
}