舉例如下
class Demo {
private int a;
private int b;
public Demo() {
a = 11;
b = 22;
}
public string DoSomething() {
return "There is no spoon.";
}
public int DoSomething2() {
return a + b;
}
}
class Demo2 : Demo {}
class DemoTest {
static void Main() {
Demo2 d = new Demo2();
System.Console.WriteLine(d.DoSomething());
System.Console.WriteLine(d.DoSomething2());
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class12.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */繼承的寫是在子類別後加上冒號,然後是父類別的名稱
class Demo2 : Demo {}此例的子類別沒有另外設定屬性及方法,注意父類別 Demo 的屬性 a 及 b 都是 private ,這裡是用 public 的方法存取 private 屬性,這是物件導向程式設計的封裝技巧喔!
編譯執行,結果如下

下例示範子類別另訂方法
class Demo {
protected int a;
protected int b;
public Demo() {
a = 11;
b = 22;
}
}
class Demo2 : Demo {
private int c;
public Demo2() {
c = 33;
}
public int DoSomething() {
return a + b + c;
}
}
class DemoTest {
static void Main() {
Demo2 d = new Demo2();
System.Console.WriteLine(d.DoSomething());
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class13.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */此例我們在子類別 Demo2 的 DoSomething 使用了父類別的屬性 a 與 b
public int DoSomething() {
return a + b + c;
}這裡須注意由於 private 成員無法被繼承,因此 Demo 的 a 與 b 已改成 protected
protected int a; protected int b;
至於子類別的建構子 (constructor) 會先執行父類別的建構子,因此這裡我們只有設定 Demo2 的屬性 c
public Demo2() {
c = 33;
}編譯執行,結果如下

| 中英文術語對照 | |
|---|---|
| 繼承 | inheritance |
| 類別 | class |
| 子類別 | subclass |
| 父類別 | superclass |
| 屬性 | property |
| 方法 | method |
| 建構子 | constructor |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: 繼承 (C# 程式設計手冊)
2 則留言:
繼承的寫是在子類別後加上「分號」,然後是父類別的名稱
應該是 「冒號」~
感謝你的教學分享~
這邊打錯字了,已修改,感謝指正 ^_^
張貼留言