字段与属性的区别


可以理解为字段是类内部用的,属性是类外部用的

下面是个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;
    }
}
posted @ 2011-04-19 13:42  Wiliz  阅读(2148)  评论(0编辑  收藏  举报