1. 属性就是对字段的封装,其本质就是一个get
方法和一个set
方法。
value
是个关建字,它其实就是一个参数,用来指代用户输入的内容。
using system;
namespace 2019-10-26
{
class Person
{
private string name;
private int age;
private bool gender;
private string BankCard;
public string Name
{
get{
return name;
}
set
{
name = value;
}
}
public int Age
{
get
{
return age;
}
set
{
if(value>0&&value<120)
{
age = value;
}
}
}
}
2. 即使不需要做任何逻辑验证,也不能把字段声明称public
的,也必须声明成private
,然后封装成属性。
3. 如果一个属性只有get
块,把这个属性就称之为只读属性;
4. 如果一个属性只有set
块,把这个属性就称之为只写属性;
5. 自动属性(语法糖)
public string Address
{
get;
set;
}
在编译时,编译器会自动给自动属性生成一个相对应的字段。
6. 属性的返回值类型,是由get
块的返回值类型来决定的。
private bool gender;
public string Gender
{
get
{
return gender?"男":"女";
}
set
{
gender = (value =="男"?true:false);
}
}