明白了类的公有成员与私有成员的区别,我们再看看公有成员不加限制的访问会带来问题,如:Xiaowen.age= -10,显然语句可以通过编译,但这种无效的数据可能带来灾难性的后果,如会影响我们统计论坛成员的平均年龄,不同年龄段的成员人数等等。为了解决这一问题,c#设计了一种特殊的语法-属性(Property).我们可以在Sufei类中添加如下代码:[C#] 纯文本查看 复制代码 class Sufei
{
//变量成员
public string name;
public int age;
public int Age
{
get
{
return age;
}
set
{
if (value <= 0)
age = 0;
else
age = value;
}
}
然后,我们将对象Xiaowen,XIaomao的年龄设置为负数,看看什么效果[C#] 纯文本查看 复制代码 {
static void Main(string[] args)
{
//申明对象Xiaowen,Xiaomao
Sufei Xiaowen = new Sufei();
Sufei Xiaomao = new Sufei();
//访问数据成员
Xiaowen.Age = -24;
// Xiaowen.name = "小文";
Xiaomao.Age = -25;
// Xiaomao.name = "小毛";
Console.WriteLine("小文:" + Xiaowen.Age);
Console.WriteLine("小毛:" + Xiaomao.Age);
}
}
} 执行的效果如下图:
怎么样,年龄自动恢复为0.
|