虛方法
抽象方法
用virtual修飾
用abstract修飾
要用方法體,哪怕是乙個分號
不允許有方法體
可以被子類override(重寫)
必須被子類override(重寫)
除了密封類都可以寫
只能在抽象類中
完整**如下
1using
system;
2using
system.collections.generic;
3using
system.linq;
4using
system.text;
5using
system.threading.tasks;67
namespace823
}2425///
26///
定義乙個抽象類
27///
特點:1、抽象方法沒有方法體;2、抽象方法只能在抽象類中;3、必須被子類override重寫
28///
29public
abstract
class
抽象類30
3637
///38
///繼承基類的方法需要override重寫基類的抽象方法
39///
40public
class
studenta : 抽象類
4149}50
51///
52///
普通方法
虛法必須有實現部分,抽象方法沒有提供實現部分,抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被例項化。
選擇考慮方式:
例子:學生們的愛好
抽象方法:如果要求實現輸出各位同學愛好不同,則定義乙個基類「學生們的愛好」抽象類,子類就是「各位同學呼叫抽象方法實現,某某同學喜歡打藍球,某某同學喜歡打兵乓球。」
這是我個人理解的,不知道是否正確。
C 中抽象方法與虛方法區別
什麼時候使用抽象方法 當兩個或多個類中有重複部分的時候,我們可以把重複的部分抽象出來作為乙個基類,如果希望這個基類不能被例項化,就可以把這個基類設計成抽象類。抽象方法特點 1 抽象方法沒有方法體 2 抽象方法用abstract修飾 3 抽象方法必須在抽象類中 4 抽象類無法例項化 5 父類是抽象類,...
虛方法與抽象方法的區別
隨著學習的深入了解的也是越來越多,之前學習vb的時候 可能級別太低,什麼虛方法,抽象方法根本就沒聽過。只知道有乙個 方法 那今天就讓我們說說虛方法,抽象方法的到底是何方神聖以及它們之間的區別。1 虛方法有自己的函式體,已經提供了函式實現,但是允許在子類中重寫或覆蓋。重寫的子類虛函式就是被覆蓋了。2 ...
C 抽象方法與虛方法的區別例項
虛方法和抽象方法都可以供派生類重寫,它們之間有什麼區別呢?1.虛方法必須有實現部分,並為派生類提供了覆蓋該方法的選項 抽象方法沒有提供實現部分,抽象方法是一種強制派生類覆蓋的方法,否則派生類將不能被例項化。如 2.抽象方法只能在抽象類中宣告,抽象方法必須在派生類中重寫 虛方法不是 也不必要重寫。其實...