今天來談談繼承,來用親子關係來思考最容易想,你繼承了你父親的某項特質,但是你也會有自己獨特的特色,將父親比喻為「父類別」(Superclass),而你比喻為「子類別」(Subclass),也就是說子類別能擁有父類別所定義的資料及方法,還可以再新增屬於自己的資料及方法,這就是青出於藍更甚於藍的概念,在程式中還有項重要的目的,讓程式碼可以重複做使用,提升未來開發的時間,以後要用到時直接繼承就行不必再重寫。
下面是簡單實作:
在son類別中可以發現建構子如果想要跟父親相同只要使用Super即可也發現與father類別中的方法名稱重複,在程式上稱為覆寫(Override),程式會選擇子類別的方式來執行,也就是兒子自己偷偷加零用錢的概念,那如果爸爸不想給可以嗎?當然可以只要加上final即可
在編譯上就會直接出錯,順帶一提 final 加在屬性上只是表示這個數不能變,而加在方法或是類別上代表無法繼承
如果這個爸爸連財產都不願意給只要加上private即可,可想而知這個兒子肯定是個敗家子XD