可以理解为字段是类内部用的,属性是类外部用的。
下面是个C#写的例子,这个例子作用是可以通过属性获取时间值,但是只能通过SetTime()方法设定时间值,我想这也是为什么要分字段和属性的一大原因吧。
首先声明的是private类型的变量(字段)hours,通常字段写法都是加个"_"符号,然后声明只读属性hours。
在类内部可以通过变量(字段)对其进行读写,在类外部不能访问变量(字段),只能访问属性。而且在此例内如果想修改时间值,只能通过调用SetTime()方法往里传值(因为这里的各属性只有get没有set,只在类内部的SetTime()方法中对其对应字段进行赋值操作),而不能通过类实例对象timeTest1的 timeTest1.hours=12 这样进行赋值。
public class TimeTest
{
private int _hours;
public int hours
{
get { return _hours; }
}
private int _minutes;
public int minutes
{
get { return _minutes; }
}
//可以不加"private",C#中类成员默认都是private类型的
int _seconds;
public int seconds
{
get { return _seconds; }
}
public void SetTime(int hours, int minutes, int seconds)
{
this._hours = hours;
this._minutes = minutes;
this._seconds = seconds;
}
} |