這篇文章不是和剛剛入行的萌新,適用於中級以上的程式設計師。(這是後話)
今天我們一起來聊聊多型。
如果有人問你什麼是多型,相信大家肯定能夠說上兩句。但是對於核心部分的東西相信很多人還是說不清楚
多型的定義:同一種操作對於不同的物件有著不同的定義,不同的解釋,不同的執行結果。即同乙個物件呼叫乙個相同的方法得到不同的結果。 tip:說是相同但還是有分別。
第乙個特點:過載
定義:在同乙個類中方法名相同,引數列表不一樣我們稱之為過載。
特點:1.方法名必須相同
2.引數型別不同
3.引數個數不同
4.引數的順序不能一樣
5.返回值可以不相同
從上圖中可以看出,過載的幾個特點滿足。
我們再來看多型的第二個特點:
重寫定義 : 子類為了滿足自己的需求而進行的相同方法的不同實現方式,進行方法的重寫。
特點 :1.重寫的方法必須是虛方法,要用override關鍵字。
2.重寫的方法名必須相同。
3.重寫的方法引數必須相同
4.重寫的方法返回值必須相同
物件導向三大特性之多型
多型 同乙個物件在不同時刻表現出來的不同狀態。多型的前提和體現 存在繼承關係或者實現關係 這裡的實現是指介面間的關係 有方法的重寫。有父類引用指向子類物件。多型中成員的訪問特點 訪問成員變數時 首先定義乙個動物類 其次定義乙個子類來繼承它 定義乙個測試類 由此可見當我們用多型的形式去訪問類中的成員變...
物件導向三大特性之多型
本想自己寫 但是發現乙個更好的。抽象類的多型 場景描述 一位剛畢業的老師,目前只能通過騎車上班,多年後終於坐騎公升級了,有了自己的小汽車,於是騎著小汽車上班。騎自行車上班 1.自行車類 public class bike public void stop 2.教師類 public class tea...
物件導向三大特性之多型
多型更像是一種思想,而並非具體的技術。因為繼承的存在,從而引發了多型,python本就是多型的形式,就像現實世界一樣。都是起源於某一單細胞生物但是經過不斷的演化差異化越來越大。多型的定義即是 在不同的類中例項化得到的物件下的相同的方法,實現的過程不一樣。這個就很有意思了.多型的前提是必須有繼承的支援...