抽象類里面的三種方法


抽象類里面有三種方法

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關鍵字而且允許被重載,也就是修改方法體。

 

 

最后一句:請堅持自己的夢想。

 


免責聲明!

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



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