C# 初學者/繼承
外觀
< C# 初學者
由於這是關於程式設計入門,我們不想用太多複雜的東西來迷惑你。
你可能會看到類被宣告成這樣
class MyClass : Form
{
...//
}
而不是像這樣
class MyClass
{
...//
}
人類繼承
你從父母那裡繼承特徵是很常見的。你可能擁有你母親的說話方式或你父親的鼻子。這並不意味著你與你的父母完全一樣,但當你出生時,某些特徵會“內建”。
程式碼繼承
當我們編寫程式碼時,從現有的類繼承一大堆能力可能會有用。讓我們舉個例子。有兩個定義的類“動物”和“鳥”,但“鳥”類從動物類繼承。
class Animal
{
public string kindOfAnimal;
public string name;
....
}
class Bird : Animal // “Bird” class inherits from “Animal” class
{
public string featherColor;
…
}
在現實世界中,鳥是一種動物,但它具有一些不適用於所有動物的特徵。因此,鳥類具有動物的所有特徵以及一些額外的特徵是有意義的。在本例中,我們僅為鳥類識別了一個特殊欄位——羽毛顏色。我們實際上是在說“我正在定義一個名為“鳥”的新類,但它也必須從“動物”類繼承所有內容”。
何時使用繼承
繼承最適合用於以下情況:你想要實現的目標大部分可以由現有類完成,你只是想擴充套件或自定義它。在以下示例中,類“吉他手”從類“音樂家”繼承了三個欄位,並添加了兩個自己的欄位。冒號“:”是告訴計算機使新類(吉他手)從冒號右側寫入的類繼承的部分。
public class Musician
{
public string name;
public int ageInYears;
....\\
}
public class Guitarist : Musician
{
public string guitarType;
public string guitarBrand;
}
Guitarist g = new Guitarist();
g.name = "JOHN ABC";
g.ageInYears = 25;
g.guitarType = ”Acoustic”;
g.guitarBrand = ”Gibson”;
當我們建立一個“吉他手”例項時,我們可以立即訪問音樂家和吉他手的欄位(只要它們不是私有的)。