C#程式思想簡介

來源:互聯網
上載者:User

類是描述一組相似對象共有特徵的抽象。通俗的講就是物以類聚。打個比方,豬圈裡有一堆的小豬,我們給它們每一個取了一個的名字,小花,小白,小黑,小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)是什嗎?慢慢來,羅馬不是一天就建成的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.