Re: [問題] 請教關於多型的觀念

看板java作者 (Alien)時間14年前 (2009/11/18 11:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串8/8 (看更多)
※ 引述《cjcat2266 (CJ Cat)》之銘言: : 我記得在run-time時決定要呼叫哪一個版本的method : 在C++好像有個術語叫做dynamic linking? 這叫 late-binding dynamic linking 是另一樣不同的東西. Java 裡面也是一樣叫 late binding : 總之它的概念就是,儘管你的animal變數是Animal type : 但是因為它所指到的物件有override原本的makeSound() method : 於是override版本的method就會被使用,而不是原來在Animal裡面定義的版本 : 該呼叫哪個method是在run-time決定的 : compiler在編譯的時候,只知道要呼叫這個變數的makeSound() method而已 : 而不知道到時候會是什麼型態的物件的makeSound() method會被呼叫到 : 這個就是polymorphism的概念 : Strategy Pattern主要就是依靠polymorphism GoF 的 Design Pattern 裡面超過八成都要依靠 polymorphism... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
文章代碼(AID): #1B0stYZm (java)
討論串 (同標題文章)
文章代碼(AID): #1B0stYZm (java)