通過物件導向的三大特徵封裝、繼承和多型,簡單的計算器**實現
operation運算類,這是乙個父類,所有運算方法都繼承此類。
public
abstract
class operation
public
void
setnumbera(bigdecimal numbera)
public bigdecimal getnumberb()
public
void
setnumberb(bigdecimal numberb)
public
abstract bigdecimal getresult();
}
這是乙個抽象的類,裡面有乙個抽象的方法getresulti(),和兩個number屬性。之所以使用抽象類,是因為繼承抽象類,必須重寫抽象類的抽象方法,通過子類實現計算功能。
operationadd 加法類,繼承運算類
public
class
operationadd
extends
operation
}
operationsubtract 減法類,繼承運算類
public
class
operationsubtract
extends
operation
}
operationmultiply 乘法類,繼承運算類
public
class
operationmultiply
extends
operation
}
operationdivide 除法類,繼承運算淚
public
class
operationdivide
extends
operation
}
簡單的工廠模式,就是用乙個單獨的類來做例項化物件的過程,這就是工廠,來,讓我們看看工廠類怎麼寫。
operationfactory 簡單的運算工廠類
public
class operationfactory
return operation;
}}
這樣子,只需要輸入運算符號,工廠就會例項化出合適的物件,通過多型,返回父類的方法實現了計算器的結果。
最後寫乙個main方法實現計算功能
public
class main
}
如果以後需要更改加法運算,只需要改operationadd這個類就可以,需要新增各種複雜的運算,只需要新增相應的運運算元類就可以,然後在修改運算類工廠,在switch中新增分支。
這樣乙個簡單的工廠模式就實現了,這裡面用到了物件導向的三大特徵:封裝乙個抽象的運算父類,所以的演算法類全部繼承父類,通過演算法工廠,多型的例項化出合適的物件。
大話設計模式之簡單工廠模式
簡單工廠模式,也就是說,到底要例項化誰,將來會不會增加例項化的物件,比如計算器程式中增加開根運算,這是很容易變化的地方,應該考慮用乙個單獨的類來做創造例項的過程,這就是工廠,具體 如下 public class operationfaction public static operation cre...
大話設計模式之簡單工廠模式
最近朋友推薦了一本書 大話設計模式 此書剛剛到,博主也還沒開始看,希望以博文的方式與大家一起分享,一起學習.簡單工廠模式,也就是說,到底要實列化誰,將來會不會增加實列化的物件,比如增加開根運算,這是很容易實列化的地方應該考慮用乙個單獨的類來做這個創造實列的過程,這就是工廠,來我們一起看看這個類如何寫...
大話設計模式之簡單工廠模式
現在,以乙個有幾年開發經驗的我來開始記錄大話設計模式中所涉及的各種設計模式,權當學習過程中的乙個記錄,順便提公升自己的能力!感謝給我提供了乙個記錄筆記的乙個平台 加入現在領導要給我乙個任務,開發乙個計算器的任務,因為我之前看過一部分 大話設計模式 因此直接使用裡邊的思想。開發程式之前,不能僅僅是為了...