字段(域)
可以把字段理解为类级别的变量、常量,用以存储该类的实例的相关数据。
public class Date
{
private int _year;
private int _month;
private int _day;
}
大多数情况下字段的访问修饰符均为 private,如果修饰符为 public,那么在类之外都可以访问该字段,但不建议这样做,应该通过属性或方法来访问类中的数据。
属性
属性将类中的数据暴露给类外。
public class Date
{
private int _year;
private int _month;
private int _day;
public int Year
{
get
{
return _year;
}
set
{
_year = value;
}
}
public int Month
{
get
{
return _month;
}
private set
{
_month = value;
}
}
public int Day
{
get
{
return _day;
}
}
}
我们给 Date 类定义了三个属性,分别为 Year、Month、
Day。get 中使用关键词 return,set 中使用关键词 value。
- Year 可读可写属性。
- Month 也是可读可写属性,但其写权限只限于类内部。
- Day 是只读属性。
Date date = new Date(); date._year = 2008; //错误,_year 为 private date.Yonth = 2008; //正确 date.Day = 3; //错误,Day 属性不可写
说明,上述这样设计一个日期类属性的读写可能是不合理的,我们这样做只是为了解释属性的具体用法。
再看一个例子。
public int PageSize
{
get
{
return _pageSize;
}
set
{
if (value <= 0)
{
_pageSize = 20;
}
else
{
_pageSize = value;
}
}
}
这是一个分页类中的页大小属性,表示一页显示多少条记录。可以看到,我们在设置 PageSize 属性值时,如果值小于等于 0,则会以默认值 20 代替。
浙公网安备 33010602011771号