C#繼承機制 C#中的繼承符合下列規則

來源:互聯網
上載者:User

標籤:

1、繼承是可傳遞的。如果C從B中派生,B又從A中派生,那麼C不僅繼承了B中聲明的成員,同樣也繼承了A中的成員。Object 類作為所有類的基類。

2、衍生類別應當是對基類的擴充。衍生類別可以添加新的成員,但不能除去已經繼承的成員的定義。

3、建構函式和解構函式不能被繼承。除此以外的其它成員,不論對它們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定衍生類別能否訪問它們。

4、衍生類別如果定義了與繼承而來的成員同名的新成員,就可以覆蓋已繼承的成員。但這並不因為這衍生類別刪除了這些成員,只是不能再訪問這些成員。

5、類可以定義虛方法、虛屬性以及虛索引指標,它的衍生類別能夠重載這些成員,從而實作類別可以展示出多態性。

6、衍生類別只能從一個類中繼承,可以通過接呂實現多重繼承。

下面的代碼是一個子類繼承父類的例子:
  
using System ;
public class ParentClass
{
public ParentClass( )
{ Console.WriteLine("父類建構函式。"); }
public void print( )
{ Console.WriteLine("I‘m a Parent Class。") ; }
}
public class ChildClass : ParentClass
{
public ChildClass( )
{ Console.WriteLine("子類建構函式。") ; }
public static void Main( ) {
ChildClass child = new ChildClass( ) ;
child.print( ) ;
}

程式運行輸出:

父類建構函式。子類建構函式。I‘m a Parent Class。

上面的一個類名為ParentClass, main函數中用到的類名為ChildClass。要做的是建立一個使用父類ParentClass現有代碼的子類ChildClass。

1.首先必須說明ParentClass是ChildClass的基類。

這是通過在ChildClass類中作出如下說明來完成的:"public class ChildClass : ParentClass"。在衍生類別標識符後面,用分號":" 來表明後面的標識符是基類。C#僅支援單一繼承。因此,你只能指定一個基類。

2.ChildClass的功能幾乎等同於ParentClass。

因此,也可以說ChildClass "就是" ParentClass。在ChildClass 的Main( )方法中,調用print( ) 方法的結果,就驗證這一點。該子類並沒有自己的print( )方法,它使用了ParentClass中的 print( )方法。在輸出結果中的第三行可以得到驗證。

3.基類在衍生類別初始化之前自動進行初始化。ParentClass 類的建構函式在ChildClass的建構函式之前執行。

 

C#繼承機制 C#中的繼承符合下列規則

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.