C#之類的多态概述
時間:2020-06-22 作者:管理員(yuán) 點擊:682
多态性:就是指程序在運行時,執行的雖然是一(yī)個調用方法的語句,卻可以根據派生(shēng)類對象的類型不同完成方法不同的具體(tǐ)實現
C#中(zhōng)可以通過多種途徑實現多态性
a、虛方法:将父類方法标記爲虛方法(使用關鍵字virtual),此方法在子類中(zhōng)可以重寫(使用關鍵字override)
b、抽象類與抽象方法:如果我(wǒ)(wǒ)們不需要使用父類創建對象,它的存在隻是爲供子類繼承,可以将父類寫成抽象類(使用關鍵字abtract),将父類的方法寫成抽象方法,子類中(zhōng)的方法仍然使用關鍵字(override)重寫。
c、利用接口實現多态:我(wǒ)(wǒ)們選擇使用虛方法實現多态還是抽象類方法實現多态,取決于我(wǒ)(wǒ)們是否需要使用基類實例化對象。
區分(fēn):
虛方法:需要使用基類實例化對象
抽象類:不能使用基類實例化對象,抽象類中(zhōng)的抽象方法不能有方法體(tǐ){}