source:http://topic.csdn.net/t/20040224/15/2770426.html
1.首先說(shuō)重載(overload),是發(fā)生在同一類中。與什么父類子類、繼承毫無(wú)關(guān)系。 ? ?
? 標(biāo)識(shí)一個(gè)函數(shù)除了函數(shù)名外,還有函數(shù)的參數(shù)(個(gè)數(shù)和類型)。也就是說(shuō),一個(gè)類中可以有兩個(gè)或更多的函數(shù),叫同一個(gè)名字而他們的參數(shù)不同。 ? ?
? 他們之間毫無(wú)關(guān)系,是不同的函數(shù),只是可能他們的功能類似,所以才命名一樣,增加可讀性,僅此而已! ?
? 它是面向過(guò)程的設(shè)計(jì)方法與面向?qū)ο鬅o(wú)關(guān)。說(shuō)什么是多態(tài)的表現(xiàn)方式,真是狗屁不通! ?
? ?
?2. 再說(shuō)覆蓋(override),是發(fā)生在子類中!也就是說(shuō)必須有繼承的情況下才有覆蓋發(fā)生。 ?
? 我們知道繼承一個(gè)類,也就有了父類了全部方法,如果你感到哪個(gè)方法不爽,功能要變,那就把那個(gè)函數(shù)在子類中重新實(shí)現(xiàn)一遍。 ?
? 這樣再調(diào)用這個(gè)方法的時(shí)候,就是執(zhí)行子類中的過(guò)程了。父類中的函數(shù)就被覆蓋了。(當(dāng)然,覆蓋的時(shí)候函數(shù)名和參數(shù)要和父類中完全一樣 ?
? ,不然你的方法對(duì)父類中的方法就不起任何作用,因?yàn)閮烧呤莾蓚€(gè)函數(shù),毫不關(guān)系) ?
? ?
3.? 最后說(shuō)多態(tài)(polymorphism),這個(gè)n多大師都有經(jīng)典論述,我不敢多說(shuō)什么。 ?
? 提醒一句,這個(gè)也是必須有繼承發(fā)生的情況下,而且必須有上溯造型的時(shí)候才有多態(tài)
自己的補(bǔ)充:覺得覆蓋是多態(tài)的基礎(chǔ),這樣父類對(duì)象的引用可以動(dòng)態(tài)調(diào)用實(shí)際類型的子類的方法;