C#快速入門教程(1)——物件導向程式設計

曹化宇發表於2018-09-04

C#是由微軟公司推出的一種現代的、物件導向的程式語言,它與.NET戰略一同釋出,也是.NET Framework平臺開發的推薦程式語言;本教程目的就是讓初學者能夠快速掌握C#程式語言的使用,並可以開始進行.NET應用的開發工作。

本課重點在於理解物件導向程式設計(OOP)概念,暫時不需要自己編寫程式碼,下一節課將討論如何進行程式碼的編寫和測試。

物件導向程式設計的基本概念是,以操作物件為中心,將操作物件的資料及其操作進行包裝,使其操作更加直觀、程式碼耦合度更高;同時,程式碼的開發、測試、維護、釋出等一系列工作也可以更加靈活和高效。

在C#程式碼中,可以使用“car.Color”程式碼表示汽車的顏色,其中car就表示一個汽車物件,而Color表示汽車的顏色資料,在物件和資料之間使用英文半形的圓點分隔;在C#中,物件的資料可以使用欄位(field)或屬性(property)定義,稍後討論。

對於物件資料的操作,可以使用方法(method)定義,如car物件的行駛操作,可以使用“car.Drive()”程式碼完成,而後退操作可以使用“car.Return()”程式碼完成,其中的Drive()和Return()就是汽車物件的兩個方法。

那麼,car物件從何而來呢?此時,需要一個原始的型別,在物件導向程式設計概念中,常常定義為類(class)型別,在C#中,使用class關鍵字定義一個類型別,如下面的程式碼:

public class CAuto 
{
    public int DoorCount;
}

程式碼中建立了一個名為CAuto的類,用於定義汽車的原始型別;在CAuto類中,還定義了一個名為DoorCount的欄位,用於表示車門數量。程式碼中的int關鍵字表示定義一個32位整數的資料型別,而public(公共的)關鍵字表示定義的內容在程式碼中的任何地方都可以訪問。下面的程式碼,我將DoorCount定義為一個屬性。

public class CAuto 
{
    public int DoorCount { get; set; }
}

如果需要限定車門數量的有效性,可以修改程式碼如下:

public class CAuto 
{
    private int myDoorCount;
    public int DoorCount 
   {
        get 
        {
            return myDoorCount; 
        }
        set 
        {
            if(value>=0 && value<=5) 
                myDoorCount = value;
            else 
                myDoorCount = 4;
        }
    }
}

這裡,我們綜合使用欄位myDoorCount和屬性DoorCount,其中,我們可以看到欄位和屬性配合使用的一般形式,即,在類中使用一個私有的(private)欄位儲存欄位資料,然後,在屬性的get語句塊中,使用return語句返回此欄位的資料;在set語句塊中,使用value表示設定的資料,我們可以對此資料進行檢查和處理,此例中,如果車門數指定為0到5則儲存到myDoorCount欄位中,否則將車門數設定為4個。

下面的程式碼,我們定義CAuto類的Drive()和Return()方法。

public class CAuto 
{
    // ...
    //
    public void Drive()
    {
        // ...
    }
    //
    public void Return()
    {
        // ...
    }
}

程式碼中,void關鍵字表示方法不會返回任何資料。

現在,我們已經有了CAuto類,如何由它建立car物件呢?可以使用下面的程式碼。

CAuto car = new CAuto();

程式碼中,“CAuto car”定義了一個CAuto型別的car物件,不過,只是這樣定義的car物件還是不能使用的,它還是一個空物件,用null關鍵字表示;對於一個物件,必須例項化為一個具體型別的例項才可以使用,這裡就是通過“new CAuto()”語句完成的。“=”在這裡稱為賦值運算子,其功能就是將右邊的資料賦值到左邊的識別符號中,這裡就是將“new CAuto()”例項化的物件賦值給car,這樣,car物件才可以使用CAuto型別中定義的成員,如DoorCount屬性、Drive()和Return()方法等。

通過這一行程式碼,我們建立了CAuto類的一個例項car,也可以說car是CAuto類的一個例項,簡單地說就是建立了CAuto型別的car物件。

下面的程式碼演示瞭如何呼叫car物件的成員。

CAuto car = new CAuto();
car.DoorCount = 5;
car.Drive();
car.Return();

本課討論了物件導向程式設計的基本概念,它是以提高資料及其操作方法耦合度的一種程式設計方法;在C#中,使用class關鍵字定義一個類,而某個類型別的物件,還需要例項化才能使用,這一操作是使用new關鍵字完成的。

CHY軟體小屋原創作品!

相關文章