舉例如下
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# 程式設計手冊)
沒有留言:
張貼留言