各位大佬好,想請教一下物件向下轉型的意義在哪,為什么要將父類強制轉換成子類,再呼叫子類的方法,而不是直接new一個子類的的物件來呼叫子類中的方法。麻煩各位大佬幫忙解釋一下,因為我不是科班出身,自己實在不理解。

uj5u.com熱心網友回復:
我的一點淺見:面向物件的核心思想:多型。同一個物件,可以有不同表現。對于同一個物件,用不同的類去實體化,那么他的實作也就不同。
舉個栗子:
公交車。人作為一個父類,公交站那么多等車的男人女人可以看做子類。公交車肯定只要是人就都可以上車,沒有規定必須是男或者女。男女上車這個程序就是向上轉型,把男人女人都看成是人類。都上車后,需要女人下車買菜,這個程序就是人類到女人的向下轉型程序。如果按照你的說法,是不是需要男人坐男人的車,女人坐女人的車?那樣不利于開發和維護。這就是面向物件編程可以解決的問題。把子類都抽象成父類來管理,比如公交車只要是人就可以坐。當需要具體使用某個子類的功能的時候,再向下轉型,比如女人下車買菜。
向上轉型是型別安全的。男人女人肯定都是人。具體到抽象
向下轉型會涉及到型別不安全問題。人不一定都是男人。抽象到具體
你可以去看看java集合類的原始碼。
uj5u.com熱心網友回復:
你對介面不是很理解吧。一個類可以回傳更多的型別,就不需要寫太多的方法了。
接收的時候向下轉型接收即可。
uj5u.com熱心網友回復:
1樓正解,多型,簡化開發,讓你的代碼優雅轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/116124.html
標籤:Java EE
上一篇:寫的ssm的專案,在本地可以運行,也能連上本地的資料庫。部署到centos服務器上時總是報錯連接不上資料庫。服務器上的MySQL版本和本地的一樣。
