C#程序思想简介

类是描述一组相似对象共有特征的抽象。通俗的讲就是物以类聚。打个比方,猪圈里有一堆的小猪,我们给它们每一个取了一个的名字,小花,小白,小黑,小xxx。。。。小花有四两重,小白有一斤重,小黑有二斤重。那么问题来了,小花,小白,小黑它们共有的特征是什么呢?OK,我们的回答是它们都是小猪!为什么你不说它们是小狼?小熊?用IS-A的观念来看,小花是小猪,小白是小猪,小黑也是小猪,符合小花是((IS)(-A))一个小猪,这一IS-A说法。反过来就是错的,我们不能说小猪是小花。所以本例中小猪就是类,而小花,小白,小黑是类的什么呢?是对象,类的对象,或称类的实例,它们具有类的共同特征,肥肥的有四条腿的动物-猪。换句更形象点的说法,类就象糕点厂里的糕点模具,从模具中印出来的月饼外观都是一模一样的,当然它们的心子料可能不同。但每个小猪有我们按它们的肤色、班点给它取的不同的名字,它们的重量也各不相同。那么小猪可以干嘛呢?我们简单的说,可以吃,可以睡,所以可以干嘛是个动作,通常就是指类的方法。

记住观点:用类来表示概念。找出事物的共性和不同性,不同性是建立在已有的共性上的,共性往往是类(接口或是抽象类)。

所以用C#的类来写这个实例就是:
class LittlePig //小猪类
{
    private double height;  //重量
    private string name; //名字
    public LittlePig(string name, double height)//构造方法
    {
        this.name = name;
        this.height = height;
    }

    public double Height //height的属性
    {
        get { return height; }
        set { this.height = value; }
    }
    public void eat()    //吃方法
    {
        Console.WriteLine("{0} is eatting. ", name);
    }
    public void sleep()  //睡方法
    {
        Console.WriteLine("{0} is sleepping.", name);
     }
}

class Test
{
    static void Main()
    {
        //创建类的对象(或称实例化)
        LittlePig xiaohua = new LittlePig("小花", 0.4);
        LittlePig xiaobai = new LittlePig("小白", 1.0);
        LittlePig xiaohei = new LittlePig("小黑", 2.0);

        xiaohua.eat();//调用方法,注意体会打点时你会看到一个下拉列表,上面就有我们写的两个方法。注意看方法左边的小图标。同时下拉列表中你也可以看到我们刚定义的Height属性,注意看左边的小图标。
    }
}

类里的成员变量 height, name,就是属性,不用怀疑,C#的中的属性概念,是指类成员变量的Getter(读方法)和Setter(写方法)组成的一个集合,目的就是提供类私有变量的读写控制,所以成员变量称之为类属性,具有更广泛的意义,或称广义上的属性。

不知道偶的解释够不够清晰?如果你能理解上面所述,再去理解事件(Event)是什么,委托(Delegate)是什么?慢慢来,罗马不是一天就建成的。

posted @ 2012-03-22 20:37  欢喜王子  阅读(290)  评论(0编辑  收藏  举报