基本上 C# 程式至少由一個類別構成,可執行的類別就得設定 Main() 方法 (method) ,方法是類別的成員之一,這是專屬於物件的功能模組,可以設置指定的工作,另外屬性 (proterty) 為物件所帶有的變數 (variable) ,也是成員之一。
宣告類別使用關鍵字 (keyword) class ,例如
// 宣告類別 class Demo { // 宣告成員及定義 // Main() 方法 static void Main() { // 程式的執行內容 } }
舉例如下
class Demo { int a; int b; int DoSomething() { return a + b; } static void Main() { Demo d = new Demo(); d.a = 11; d.b = 22; System.Console.WriteLine(d.DoSomething()); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:class01.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
此例在類別 Demo 宣告兩個 int 屬性 a 及 b
int a; int b;
除了 Main() 方法之外,另外定義一個 DoSomething() 方法,內容很簡單,就是回傳屬性 a 與 b 的相加值。
int DoSomething() { return a + b; }
方法可以有參數 (parameter) 及回傳值 (return value) ,參數為提供給方法計算的值,回傳值則是方法回傳給呼叫方法的數值,有回傳值的方法把回傳值放在 return 陳述裡,也可以放運算式 (expression) 。沒有參數的方法在方法名稱後的小括弧留空,沒有回傳值的方法則宣告為 void 。
Main() 為程式執行的方法,此例在 Main() 中建立 Demo 型態的物件變數 d ,然後用小數點運算子設定屬性 a 與 b 的值,最後呼叫 DoSomething() 印出回傳值
static void Main() { Demo d = new Demo(); d.a = 11; d.b = 22; System.Console.WriteLine(d.DoSomething()); }
為什麼可以 Demo 中建立同屬於 Demo 的物件呢?這是因為 Main() 為 static 的關係, static 屬於類別而非物件, static 成員使用屬於物件的屬性與方法都得用建立物件的方式唷!
編譯執行,結果如下
下例示範定義有參數的方法
class Demo { int DoSomething(int a, int b) { int c = a + b; System.Console.WriteLine(c); return c; } void DoSomething2() { System.Console.WriteLine("There is no spoon."); } static void Main() { Demo d = new Demo(); d.DoSomething(44, 55); d.DoSomething2(); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:class02.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
參數可以有多個,要把型態與參數名稱寫在小括弧中,然後以逗點區隔,但是回傳值只能有一個
int DoSomething(int a, int b) {
編譯執行,結果如下
中英文術語對照 | |
---|---|
類別 | class |
物件 | object |
方法 | method |
屬性 | proterty |
變數 | variable |
關鍵字 | keyword |
參數 | parameter |
回傳值 | return value |
運算式 | expression |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: 類別 (C# 程式設計手冊)
沒有留言:
張貼留言
0.留言請選擇註冊帳號, Google 或 OpenID 均可
1.歡迎留言交流,但不歡迎垃圾留言及廣告留言
2.文章相關問題歡迎提出,請減少情緒性留言
3.非文章相關內容,請到 G+ 社群或 FB 社團提出
4.問作業之留言會被直接刪除
5.莫忘網路禮節
6.可使用部份HTML標記,如 <b> 、 <i> 、 <a>
7.站長保留刪除留言的權力