抽象类里面有三种方法
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关键字而且允许被重载,也就是修改方法体。
最后一句:请坚持自己的梦想。