虛方法和抽象方法的區別

2022-05-01 06:48:10 字數 558 閱讀 8025

虛方法:就是以virtual關鍵字修飾並在乙個或多個派生類中實現的方法。如果乙個方法被virtual標記,則不可再被static、abstract和override修飾。

抽象方法:是以abstract關鍵字修飾的方法,抽象方法可以看做是沒有實現體的虛方法,並且必須在派生類中被重寫,如果乙個類包括抽象方法,則該類就是乙個抽象類。

(一) 虛方法

1.虛方法中必須包含實現,abstract修飾的方法一定不能包含實現;

2.virtual可以被子類重寫,而abstract必須被子類重寫;

class base

}class derived : base

}(二) 抽象方法

1.如果類成員被abstract修飾,則該類前必須新增abstract,因為只有抽象類才可以有抽象方法。

abstract class base

}2.abstract必須被子類重寫

abstract class base

public abstract void myfunc();

class derived : base

}

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

虛方法和抽象方法都可以供派生類重寫,它們之間區別如下 1.虛方法必須有實現部分,抽象方法沒有提供實現部分,抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被例項化。如 抽象方法 public abstract class animal 虛方法 public class animal public...

虛方法與抽象方法的區別

隨著學習的深入了解的也是越來越多,之前學習vb的時候 可能級別太低,什麼虛方法,抽象方法根本就沒聽過。只知道有乙個 方法 那今天就讓我們說說虛方法,抽象方法的到底是何方神聖以及它們之間的區別。1 虛方法有自己的函式體,已經提供了函式實現,但是允許在子類中重寫或覆蓋。重寫的子類虛函式就是被覆蓋了。2 ...

設計模式 抽象方法和虛方法的區別

只能定義在抽象類中 方法的修飾符不能被private virtual static 修飾 抽象方法如下 public abstract class people 宣告乙個抽象類 public class student people 繼承抽象類 public class program 總結 1 抽...