C#快速入門教程(1)——物件導向程式設計
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軟體小屋原創作品!
相關文章
- 全網最適合入門的物件導向程式設計教程:00 物件導向設計方法導論物件程式設計
- 物件導向程式設計入門 - Janos Pasztor物件程式設計
- 全網最適合入門的物件導向程式設計教程:01 物件導向程式設計的基本概念物件程式設計
- Java入門教程八(物件導向)Java物件
- [.net 物件導向程式設計進階] (2) 正規表示式 (一) 快速入門物件程式設計
- Python物件導向程式設計(1)Python物件程式設計
- Python基礎入門(6)- 物件導向程式設計Python物件程式設計
- Matlab AppDesigner程式設計教程第1章——物件導向程式設計MatlabAPP程式設計物件
- 好程式設計師Java教程分享Java物件導向與程式導向程式設計師Java物件
- 程式設計師程式設計入門,物件導向需要知道這6點!程式設計師物件
- [PY3]——物件導向程式設計(1)物件程式設計
- 物件導向程式設計物件程式設計
- Python入門教程100天:Day08-物件導向程式設計基礎Python物件程式設計
- [.net 物件導向程式設計進階] (6) Lamda表示式(二) 表示式樹快速入門物件程式設計
- iOS 開發之 OOA (物件導向分析) & OOD (物件導向設計)& OOP (物件導向程式設計)iOS物件OOP程式設計
- [.net 物件導向程式設計基礎] (2) 關於物件導向程式設計物件程式設計
- C++物件導向程式設計_Part1C++物件程式設計
- 十三、物件導向程式設計物件程式設計
- js物件導向程式設計JS物件程式設計
- 程式設計思想 物件導向程式設計物件
- 十六、物件導向程式設計物件程式設計
- perl 物件導向程式設計物件程式設計
- LotusScript物件導向程式設計物件程式設計
- Javascript 物件導向程式設計JavaScript物件程式設計
- JavaScript物件導向入門JavaScript物件
- C#之淺析物件導向程式設計思想(二)C#物件程式設計
- 好程式設計師前端教程-javascript的物件導向程式設計師前端JavaScript物件
- JS物件導向程式設計(一):物件JS物件程式設計
- [.net 物件導向程式設計基礎] (1) 開篇物件程式設計
- [.net 物件導向程式設計進階] (1) 開篇物件程式設計
- 1.設計模式與物件導向設計模式物件
- Scala的物件導向程式設計物件程式設計
- JavaScript物件導向程式設計理解!JavaScript物件程式設計
- Python物件導向程式設計Python物件程式設計
- 物件導向程式設計C++物件程式設計C++
- Python 物件導向程式設計Python物件程式設計
- Javascript 物件導向程式設計(一)JavaScript物件程式設計
- Javascript 物件導向程式設計(二)JavaScript物件程式設計