C#高級進階--重寫函數


這里要說一下,重寫是繼承時發生,在子類中重新定義父類中的方法。例如:基類方法聲明為virtual方法,派生類中使用override聲明此方法的重寫。

基類中的訪問修飾符在子類中是不能被修改的。比如說基類中的訪問修飾符為protected,那么子類中的訪問修飾符也必須是這個。而且不能是private的。而如果是protected類型的那就意味着此方法不能被第三個類調用。

 

比如說這里有一個基類Base.cs

class Base
    {
        public Base()
        { }

        public virtual void AAA()
        {
            Console.WriteLine("This is AAA");
        }
    }


還有一個子類Inheritance.cs

class Inheritance:Base
    {
        public override void AAA()
        {
            base.AAA();
            Console.WriteLine("This is BBB");
        }
    }

base.AAA();的意思是繼承父類Base.cs中AAA函數的所有內容。
在Program.cs中調用Inheritance.cs中的AAA。

class Program
    {
        static void Main(string[] args)
        {
            Inheritance inin = new Inheritance();
            inin.AAA();
            Console.ReadKey();
        }
    }

結果如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM