瀏覽單個文章
T磨人v2
*停權中*
 

加入日期: Mar 2014
文章: 49
就我對你問題的理解, 下面你參考 看看, 無針對語言性質.

多型其中一個用途, 當我寫好一個 methodA(BENZ) , 我可能目前只有 BENZ, 但以後有 LAMB 時, 這methodA 就不能用, 但如果是 methodA(CARClass),
CARClass defined method startUrEngine() , 並實做了大眾規格的啟動方式 , methodA 內部實做會呼叫 CARClass.startUrEngine,

BENZ 和 LAMB 繼承 CARClass ,
假如這兩台車啟動行為不同, BENZ 和 LAMB 就會 override startUrEngine , 實做自己所需要的內容, 如果 LAMB 是用 大眾規格啟動方式, 就無需實作自己的啟動行為 ,
但BENZ 啟動方式特殊, 所以他就override startUrEngine 實做自己的行為.
如此 methodA 不用因為今天多了 TOYOTA 這輛車就要改寫,只要他也繼承 CARClass 並override startUrEngine 實作了自己的行為.

這是多型的其中一種用法也有用 interface 來達到相同目的,
方法很多很難一一解釋, 端看你的需求而變化, 這邊只能說明概念, 希望有所幫助.
 
舊 2015-03-05, 12:08 PM #2
回應時引用此文章
T磨人v2離線中