可以理解为字段是类内部用的,属性是类外部用的。
下面是个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; } }