程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 小知識(四):繼承,小知識繼承

小知識(四):繼承,小知識繼承

編輯:C#入門知識

小知識(四):繼承,小知識繼承


方法重寫:

    基類方法標識virtual關鍵字,子類(繼承類)中方法重寫標識override關鍵字。

    重寫的方法必須跟基類的類型相同,如方法名稱、返回和接受參數。

    public class Class1

    {

        public virtual void show(int i)

        {……}

    }

    public class Class2:Class1

    {

        public override void show(int a)

        {……}

    }

New方法重寫:

    public class Class1

    {

        protected virtual void show(int i)

        {……}

    }

    public class Class2:Class1

    {

        public new int show(int a)

        {……}

    }

    new聲明定義自己的同名方法。返回類型、訪問類型可以不同於基類的同名方法。

    如果接受參數不同於基類同名方法時new關鍵字會多余,相當於一般重寫(基類沒有一樣的方法,沒有一樣的隱藏方法)。

override重寫基類方法(隱藏方法)的方法體,new重寫基類同名方法(接收參數一樣)。

終止繼承:

    終止繼承標識sealed。以下代碼編譯出錯,Class2無法繼承封閉類Class1

    public sealed class Class1

    {

        public virtual void show(int i)

        {……}

    }

    //public class Class2:Class1

    //{

    //    public override void show(int a)

    //    {……}

    //}

調用基類構造函數:

    編譯器先調用基類構造函數,再調用繼承類構造函數。

    public class Class1

    {

        public Class1(int i , string j)

        {……}

    }

    public class Class2:Class1

    {

        public Class2(int i,string j,object obj):base(i,j)

        {……}

    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved