舉例如下
class Demo { int a; int b; Demo() { a = 11; b = 22; } public class Demo2 { public Demo p; public Demo2() { this.p = null; } public Demo2(Demo p) { this.p = p; } public void DoSomething() { System.Console.WriteLine(p.a + p.b); } public void DoSomething2() { System.Console.WriteLine("Free your mind."); } } public void DoSomething() { Demo2 d = new Demo2(); d.DoSomething2(); } static void Main() { Demo d1 = new Demo(); d1.DoSomething(); Demo.Demo2 d2 = new Demo.Demo2(d1); d2.DoSomething(); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:class11.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */
編譯執行,結果如下
上例的 Demo2 為巢狀類別,在 Demo 中可直接建立使用 Demo2 ,而在 Demo2 中若要使用 Demo 的成員,就要將 Demo 宣告為屬性 (property) ,並在建構子 (constructor) 中以參數 (parameter) 形式傳入。
中英文術語對照 | |
---|---|
類別 | class |
屬性 | property |
建構子 | constructor |
參數 | parameter |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: 巢狀型別 (C# 程式設計手冊)
沒有留言:
張貼留言