C# 子類父類方法同名,三種處理方式


1.重載:參數數量或者參數類型不同(overloading );
2.重寫:override 關鍵字重寫父類方法,父類的方法是virtual 或 abstract修飾的,

 1 using System;
 2 class A 
 3 {
 4     //虛方法
 5     virtual public void sayHello(){
 6         Console.WriteLine("A sayHello");
 7     }
 8 }
 9 class Test:A
10 {
11     override public void sayHello(){
12         base.sayHello();//訪問父類的成員,使用關鍵詞base
13         Console.WriteLine("Test sayHello");
14     }
15     static void Main( string [] args )
16     {
17         Test t = new Test();
18         t.sayHello();
19         Console.ReadLine();
20     }
21 }
override 虛方法
 1 using System;
 2 abstract class A //含有抽象方法的類,抽象類
 3 {
 4     //抽象方法
 5     abstract public void sayHello();
 6 }
 7 class Test:A
 8 {
 9     override public void sayHello(){
10         Console.WriteLine("Test sayHello");
11     }
12     static void Main( string [] args )
13     {
14         Test t = new Test();
15         t.sayHello();
16         Console.ReadLine();
17     }
18 }
override 抽象方法

3.隱藏父類方法:使用關鍵字new直接覆蓋父類方法


免責聲明!

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



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