2019/12/24 | 在校大二上學期 | 太原科技大學java
初學java後,咱們會發現java難點不在於Java語法難學,而是把咱們掛在瞭如何設計類的「吊繩」上了。這偏偏也是小白與入職多年的程序員的的差距之一。因此今天來分享一下個人觀點:程序員
那麼如何設計類呢?有沒有遵循的原則可言呢?答案呢,就是下面的敘述!面試
面試官:「請你用C++/java/Python等語言以面向對象的方式,設計一個在console上運行的計算器。」編程
面試者埋頭10分鐘,寫出了實現計算器功能的程序。 這裏呢,程序就不往上弄了。可是小鳥寫的程序大概是這樣子的:一個class、一個main方法和一連串的代碼,從頭至尾就有一個類和一個主方法。可是這不利於後期運維,而且可拓展性不好。運維
因此,分"類"設計實現功能分裝變得尤其重要。設計思路以下:spa
計算器最基本的功能爲 :+ - * / 。能夠將加減乘除分別寫一個類,都去繼承Operation類(父類)。那麼如何給用戶一個給好的操做方法呢?那麼就得在設計一個類(OperationCompany類)。而這個類比較特殊,主要負責用戶輸入什麼運算,就new 什麼對象。 什麼意思呢? 好比說,用戶想實現乘法這個運算,那麼在用戶輸入乘號*後,這個類的方法就會以乘法類爲模板,new一個乘法類對象出來,從而去調用乘法的類方法。這種模式叫作簡單工廠原則。設計
其中,加減乘除分開設計就體現了封裝這一特性,而Operation(父類)的子類(加減乘除)就體現了子類的多態性。俗稱「一龍生九子,九子各不一樣」,正是這個道理;而子類繼承父類Operation類是繼承所在。因此在編程中邊品邊思考,纔會信手拈來高質量的代碼行。對象
轉載註明出處: https://www.cnblogs.com/TreasureBoy-blog/blog