OOP(面向?qū)ο螅?/h2>

詳細(xì)內(nèi)容見(jiàn):OOP

三大特性:封裝,繼承,多態(tài)。


封裝:就是打包,即,把數(shù)據(jù)和針對(duì)數(shù)據(jù)的操作,都統(tǒng)一到一個(gè)class里面。另:軟件對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉(開(kāi)閉原則 open-close principle)

繼承:通過(guò)繼承創(chuàng)建的新類稱為“子類”或“派生類”。被繼承的類稱為“基類”、“父類”。
派生類的特點(diǎn):使用現(xiàn)有類的所有功能,并在無(wú)需重新編寫(xiě)原來(lái)的類的情況下對(duì)這些功能進(jìn)行擴(kuò)展。
另:在考慮使用繼承時(shí),有一點(diǎn)需要注意,那就是兩個(gè)類之間的關(guān)系應(yīng)該是“屬于”關(guān)系。例如,Employee是一個(gè)人,Manager也是一個(gè)人,因此這兩個(gè)類都可以繼承Person類。但是Leg類卻不能繼承Person類,因?yàn)橥炔⒉皇且粋€(gè)人。

多態(tài):簡(jiǎn)單來(lái)說(shuō),就是覆蓋,重載的總稱。
覆蓋(override),是指子類重新定義父類的虛函數(shù)的做法。
重載(overload),是指允許存在多個(gè)同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個(gè)數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。


1.為什么析構(gòu)函數(shù)要寫(xiě)成虛擬的?
因?yàn)槎鄳B(tài)的存在。派生類的析構(gòu)函數(shù)都自動(dòng)變成virtual的,這樣析構(gòu)時(shí),就會(huì)調(diào)用基類的析構(gòu)函數(shù),不會(huì)因?yàn)闆](méi)調(diào)用導(dǎo)致的內(nèi)存泄露。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容