作者T磨人v2
就我對你問題的理解, 下面你參考 看看, 無針對語言性質.
多型其中一個用途, 當我寫好一個 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 來達到相同目的,
方法很...
|