理解属性,字段以及方法

对于c#的学习虽然已经三个多月,但多是集中于web方向的那些控件操作,以及一些简单的逻辑,导致很多基础性的知识不是很扎实,今天正好有时间和兴趣,就补了一下这方面的知识。
这部分主要是关于属性,字段以及方法的概念:
为什么有属性?首先是直接把数据字段公开不好,其次是有时候需要对一些用户的输入进行验证,输出有时也需要计算
代码:
using System;

#region //使用属性来读写类中的字段,从而实现对字段的保护
//字段标识符小写,而属性一般以每个单词的第一个字母大写
public class Student
{
    public string name;
    public int id;
    public int age=22;

    //set中的判断
    public int Id
    {
        get { return id; }
        set {
            if (value< 100)
                id = value;
            else
                id = 100;
        }
    }

    //get后的计算
    public string Name
    {
        get { return "Hello "+name; }
        set { name = value; }
    }
    //Age是只读属性
    public int Age
    {
        get { return age; }
    }
}

class Test
{
    public static void Main()
    {
        Student stu = new Student();
        stu.Name = "beijing";
        stu.Id = 123;
        //stu.age = 3;正确。属性只读,但是字段可以改
        //stu.Age=3;错误。只读属性不可以设

        Console.WriteLine("{0}---{1}--{2}",stu.Id,stu.Name,stu.Age);
       
    }
}
#endregion
这里有三个字段name ,id ,age;对应三个属性:Name,Id,Age。Id属性用set对输入进行判断,Name属性get对输出做了修改,Age为只读属性
另外:属性也不同于方法,它没有圆括号,不必指定返回值类型。set{;}get{;}

posted @ 2007-10-22 14:56  范文轩  阅读(523)  评论(1编辑  收藏  举报