天天看點

面試 || 07 談一下你對多态的了解

所謂多态,就是同一個操作,作用在了不同的對象上,就會有不同的解釋,進而産生不同的執行結果。使用時,是采用父類指針指向子類對象的方法。其中,重載和重寫是常見的實作多态的手段。

重載就是對于類的方法來說,方法名相同,參數清單不同的方法之間就構成了重載關系。對于重載有兩個地方是需要注意的,首先類的方法也包含的從父類繼承得到的方法,也就是說重載關系可以出現在父類方法和子類方法之間,接着就是需要深刻了解參數清單,參數清單是說是指三項,參數類型,參數名,參數順序,這三項有一個不同就說明參數清單不同。(不用管方法的修飾符和傳回類型以及抛出的異常)

重寫就是在當父類中的某些方法不能滿足要求時,子類中改寫父類的方法,使方法滿足自己的使用需。對于重寫有幾個地方需要注意,(1)重寫是隻重寫函數體内部的代碼,其他地方不變;(2)重寫的函數與被重寫的函數方法名、參數、傳回值相同;(3)子類方法不能縮小父類方法的通路權限。也就是說如果父類中是public方法,子類繼承後将通路權限降至private,那麼子類中重寫以後的方法則不能被外部對象通路了,這樣就破壞了繼承的含義。

面試 || 07 談一下你對多态的了解