UML類圖:
硚口網站建設公司成都創(chuàng)新互聯,硚口網站設計制作,有大型網站制作公司豐富經驗。已為硚口超過千家提供企業(yè)網站建設服務。企業(yè)網站搭建\成都外貿網站制作要多少錢,請找那個售后服務好的硚口做網站的公司定做!Java版代碼:
abstract class Operation {
private double numberA;
private double numberB;
public double getNumberA() {
return numberA;
}
public void setNumberA(double numberA) {
this.numberA = numberA;
}
public double getNumberB() {
return numberB;
}
public void setNumberB(double numberB) {
this.numberB = numberB;
}
public abstract double GetResult();
}
class OperationAdd extends Operation {
@Override
public double GetResult() {
// TODO Auto-generated method stub double result = 0;
result= getNumberA() + getNumberB();
return result;
}
}
class OperationSub extends Operation{
@Override
public double GetResult() {
// TODO Auto-generated method stub double result=0;
result=getNumberA()-getNumberB();
return result;
}
}
class OperationMul extends Operation{
@Override
public double GetResult() {
// TODO Auto-generated method stub double result=0;
result=getNumberA()*getNumberB();
return result;
}
}
class operationDiv extends Operation{
@Override
public double GetResult() {
// TODO Auto-generated method stub double result=0;
if(getNumberB()==0){
System.out.println("除數不能為零!");
}else{
result=getNumberA()/getNumberB();
}
return result;
}
}
class OperationFactory{
public static Operation createOperate(String operate){
Operation oper=null;
switch(operate){
case "+":
oper=new OperationAdd();
break;
case "-":
oper=new OperationSub();
break;
case "*":
oper=new OperationMul();
break;
case "/":
oper=new operationDiv();
break;
}
return oper;
}
}
public class SimpleFactory{
public static void main(String[] args){
Operation oper;
oper=OperationFactory.createOperate("+");
oper.setNumberA(1);
oper.setNumberB(2);
double result=oper.GetResult();
System.out.println(result);
}
}
總結:
這里的工廠類OperationFactory不是與具體的運算類相關聯,而是與抽象運算類相關聯,這樣就降低了耦合度,即使要擴展或修改也不需要大范圍的修改代碼,
增強了代碼的可維護性和可擴展性。
新聞標題:設計模式學習筆記——簡單工廠模式-創(chuàng)新互聯
網頁路徑:http://bm7419.com/article2/dssgic.html
成都網站建設公司_創(chuàng)新互聯,為您提供全網營銷推廣、App設計、面包屑導航、做網站、品牌網站建設、Google
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯