使用 set 与 get 方法保护数据
using System;
using System.Collections.Generic;
using System.Text;
namespace Person类
{
class Person
{
private string _gender;
private int _age;
// 设置属性,开头大写,只有set和get方法,则不需要 _name 写法
public string Name{
set;
get;
}
// 属性只有两个方法,set 和 get,只有 set 表示只写,只有 get 表示只读
// 能够修改set和get方法,使 设置值 或 获取值时保护
public int Age
{
set{
_age = value;
// 使用方法保护数据
if (_age < 0 || _age > 140)
{
Console.WriteLine("你设置尼玛的年龄呢!: 年龄:{0}", _age);
_age = -1;
}
}
get{
return _age;
}
}
// 属性缺省写法,在调用时设置
public string Gender
{
set{
_gender = value;
if (Gender != "男" && Gender != "女")
{
Console.WriteLine("设置个毛线的性别!性别:{0}", Gender);
_gender = "无";
}
}
get{
return _gender;
}
}
public void introduce()
{
Console.WriteLine("我叫{0},我今年{1}岁了,我的性别是{2}。", Name, Age, Gender);
}
}
}
使用定义的类
using System;
namespace Person类
{
class Program
{
// 属性可以保护类中的变量
static void Main(string[] args)
{
Person zhang = new Person();
zhang.Age = 118;
zhang.Name = "张三";
zhang.Gender = "?";
zhang.introduce();
}
}
}
效果一
效果二