就是愛分享
C#語言是一種物件導向程式語言,其精神是物件,但支援物件的程式語言並不一定就是一種物件導向程式語言,它可能只是物件基礎程式語言(Object-based Languages),只提供資料抽象化和物件觀念。例如:Visual Basic 6.0。

物件的基本觀念

物件可以視為提供特定功能的元件或黑盒子,我們不用考慮元件內部詳細的資料或程式碼,只需知道物件提供哪些方法和屬性,以及如何使用它,一樣可以使用物件來建立所需的應用程式。

事實上,物件導向程式設計的目的就是讓設計者自行定義物件或擴充存在的物件功能,簡單的說,就是使用物件基礎程式設計來建立應用程式。

物件

物件(objects)是物件導向程式的基礎,簡單的說,物件是資料(Data)和包含處理此資料程式碼(稱為方法Method)的綜合體。

「類別」(Class)是定義物件內容的模子,透過模子可以建立屬於同一個類別的多個物件,例如:Label控制項是一個類別,當我們在表單上新增多個標籤控制項後,就是使用類別建立名為label1和label2等多個物件。

當程式碼使用類別建立物件後,我們並不用考慮物件內部的處理方式,只需知道它提供的屬性和方法與如何使用它,就可以使用這些物件來建立程式。

事實上,Windows應用程式的組成元件都是物件,在表單中的控制項,例如:文字方塊、清單方塊、標籤和按鈕等都是一個個物件。

屬性

物件的屬性(Properties)是物件的性質和狀態,例如:文字方塊控制項提供MaxLength屬性設定輸入字串的長度,標籤物件的BackColor可以指定背景色彩,如下所示:

label1.BackColor;
textBox1.MaxLength;

PS:句點「‧」是物件運算子,在程式碼中的物件是使用句點來存取物件屬性值和呼叫物件的方法。

方法

方法(Methods)是物件的處理函數,也就是執行物件提供的功能。例如:Graphics繪圖物件g提供方法可以繪出字串和畫線,如下所示:

g.DrawString();
g.DrawLine();

上述程式碼使用Graphics物件的方法。事實上,我們並不需要知道繪出字串和畫線的程式碼是什麼?只需知道物件提供的方法需要如何用,指定參數後,就可以繪出指定的圖形。

事件

事件(Events)本身是一個物件,它代表使用者按下滑鼠按鍵或鍵盤按鍵等操作後,所觸發的動作進而造成控制項狀態的改變,當這些改變發生時,就會觸發對應的事件物件。我們可以針對事件來作進一步處理。

物件可以建立事件處理程序來處理事件,這種以事件設計程式的方式,稱為「事件驅動程式設計」(Event-driven Programming)。例如:Button控制項button1觸發的Click事件,其事件處理程序如下所示:

private void button1_Click(object sender, EventArgs e)
{
... ...
}

上述事件處理程序擁有2個參數。其說明如下所示:
‧object物件:觸發事件的來源物件,也就是哪一個物件產生此事件。
‧Eventargs物件:事件物件本身,包含事件的相關資訊。
標籤: | edit post
0 Responses