抽象類里面有三種方法
1.抽象方法
2.普通方法
3.虛方法
1 abstract class Class1 2 { 3 //抽象類Class1里面的抽象方法 4 public abstract void str1(); 5 //抽象類Class1里面的普通方法 6 public void str2() 7 { 8 Console.WriteLine("普通方法"); 9 } 10 //抽象類Class1里面的虛方法 11 public virtual void str3() 12 { 13 Console.WriteLine("這是虛方法"); 14 } 15 16 }
那么,這三種方法的區別是什么呢?
1 class Class2:Class1 2 { 3 //抽象方法str1的重載 4 public override void str1() 5 { 6 Console.WriteLine("抽象方法的重載"); 7 } 8 //虛方法str3的繼承 9 public override void str3() 10 { 11 base.str3(); 12 Console.WriteLine("我重寫的str3方法"); 13 } 14 //普通方法str2的繼承 15 public void str() 16 { 17 base.str2(); 18 } 19 }
控制台:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Class2 jj = new Class2(); 6 jj.str1(); 7 jj.str3(); 8 jj.str(); 9 Console.ReadKey(); 10 } 11 12 }
運行結果:
總結:
1.抽象方法
抽象方法不能有方法體,在被繼承之后可以重載方法。而且必須被繼承。
2.普通方法
普通方法可以被繼承也可以不被繼承。與虛方法的區別在於普通方法不能重載,也就是方法體無法改變。
3.虛方法
虛方法可以被繼承也可以不被繼承。與普通方法的區別在於虛方法繼承時要加override關鍵字而且允許被重載,也就是修改方法體。
最后一句:請堅持自己的夢想。