字段与属性的区别

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

下面是个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 on 2012-05-14 11:57  黄兆张's Blog  阅读(399)  评论(0编辑  收藏  举报

导航