1.重载:参数数量或者参数类型不同;
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 }
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 }
3.隐藏父类方法:使用关键字new直接覆盖父类方法
原文:https://www.cnblogs.com/GoldenEllipsis/p/10355594.html