總結(jié)虛函數(shù) 抽象函數(shù)
虛函數(shù)是有代碼的并明確允許子類去覆蓋,但子類也可不覆蓋,就是說(shuō)可以直接用,不用重寫???
抽象函數(shù)是沒(méi)有代碼,子類繼承后一定要重寫
在一個(gè)類中用虛函數(shù):???
是因?yàn)樵诔愔械挠袑?shí)際代碼的方法,但明確允許子類可以作重寫???
而且當(dāng)子類重寫后,可以用子類實(shí)例超類;如果這樣,超類變量調(diào)用虛函數(shù)時(shí),執(zhí)行的是子類的方法???
????
在一個(gè)類中用抽象函數(shù)???
是在寫超類時(shí)不確定函數(shù)的代碼,讓子類去實(shí)現(xiàn)???
抽象函數(shù)沒(méi)有方法體。
?
?
簡(jiǎn)單來(lái)說(shuō)虛函數(shù)(Virtual)已經(jīng)包含了也必須包含默認(rèn)的實(shí)現(xiàn),所以在派生類中可以重新實(shí)現(xiàn)也可以不實(shí)現(xiàn)這些虛函數(shù)。?
抽象函數(shù)(abstract)沒(méi)有提供默認(rèn)實(shí)現(xiàn),所以在派生類中必須實(shí)現(xiàn)這些抽象函數(shù)。?
接口中的函數(shù)類似于抽象函數(shù),也不提供默認(rèn)實(shí)現(xiàn),實(shí)現(xiàn)接口的類也必須實(shí)現(xiàn)這些函數(shù)。?
但接口可用于多繼承,即,類只能從一個(gè)類繼承,但可同時(shí)實(shí)現(xiàn)多個(gè)接口。
2019-09-09
總結(jié)虛函數(shù) 純虛函數(shù)
虛函數(shù)指在函數(shù)聲音時(shí)加上關(guān)鍵字virtual, 目的是為了給子類對(duì)象復(fù)寫或者調(diào)用,從而實(shí)現(xiàn)多態(tài);
純虛函數(shù)通常在接口類中定義, 只有聲明,沒(méi)有實(shí)現(xiàn),并且給它賦值為0.這種函數(shù)在被子類繼承時(shí)需要實(shí)現(xiàn)該方法,不能直接調(diào)用。
2019-09-09
總結(jié)的不錯(cuò)