C 虛擬方法和抽象方法的區別

2021-10-07 08:23:12 字數 645 閱讀 8540

虛擬方法必須有實現部分,抽象方法不可以有實現部分;

虛擬方法可以在派生類中重寫也可以不重寫,抽象方法必須在派生類中重寫;

虛擬方法可以在任何非密封類中宣告,抽象方法只能在抽象類中宣告;

如果類包含抽象方法,那麼該類也必須為抽象的,不能例項化。

/* 宣告乙個抽象類

* 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關鍵字修飾的方法,抽象方法可以看做是沒有實現體的虛方法,並且必須在派生類中被重寫,如果乙個類包括抽象...