虛擬方法必須有實現部分,抽象方法不可以有實現部分;
虛擬方法可以在派生類中重寫也可以不重寫,抽象方法必須在派生類中重寫;
虛擬方法可以在任何非密封類中宣告,抽象方法只能在抽象類中宣告;
如果類包含抽象方法,那麼該類也必須為抽象的,不能例項化。
/* 宣告乙個抽象類
* 1.抽象類中可以包含變數
* 2.抽象方法中無法宣告方法體
*/abstract
class
absclass
/*繼承抽象類的子類必須實現抽象方法*/
class
absclassinherited
:absclass
}/* 宣告虛函式
*/class
virtclass
}/*虛擬方法可以實現也可以不實現*/
class
virtclassinherited
:virtclass
}/* 宣告乙個介面
* 1.介面中的方法必須是公用的
* 2.介面中不允許有變數
* 3.介面中的方法不允許有方法體
*/inte***ce
iabs
C 抽象方法和虛方法的區別
虛方法和抽象方法都可以供派生類重寫,它們之間區別如下 1.虛方法必須有實現部分,抽象方法沒有提供實現部分,抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被例項化。如 抽象方法 public abstract class animal 虛方法 public class animal public...
C 抽象方法和虛擬方法理解
首先在c 中虛方法的定義 public virtual void virtualmethod 只要在方法名前加上virtual,就宣告了該方法為虛方法,注意宣告為虛方法後再不能加上abstract,static關鍵字宣告 以下是插入乙個例項來說明虛方法與非虛方法的不同 public class a ...
虛方法和抽象方法的區別
虛方法 就是以virtual關鍵字修飾並在乙個或多個派生類中實現的方法。如果乙個方法被virtual標記,則不可再被static abstract和override修飾。抽象方法 是以abstract關鍵字修飾的方法,抽象方法可以看做是沒有實現體的虛方法,並且必須在派生類中被重寫,如果乙個類包括抽象...