簡單工廠模式實現加減乘除法


1.創建運算的接口

public interface Operation {
    //提供計算兩個數字的方法
    double getResult(double num1,double num2);

}

2.創建對應的加減乘除四個實現類

public class Addition implements Operation { //加法

    @Override
    public double getResult(double num1, double num2) {
        return num1+num2;
    }

}
public class Minus implements Operation { //減法

    @Override
    public double getResult(double num1, double num2) {
        return num1-num2;
    }

}
public class Multiplication implements Operation {//乘法

    @Override
    public double getResult(double num1, double num2) {
        return num1*num2;
    }

}
public class Division implements Operation {//除法

    @Override
    public double getResult(double num1, double num2) {
        return num1/num2;
    }
}

3.創建工廠類

public class OperationFactory {  //計算機的工廠類
    /*
     * 工廠模式 是我們最常用的實例化對象的模式!
     * 用工廠的方法替代new!
     * 雖然代碼量沒有減少  但是 提高了程序的擴展性!
     */
    public static  Operation  getOperation(String o){
        Operation operation=null; //多態
        switch (o) {
        case "+":
            operation=new Addition();
            break;
        case "-":
            operation=new Minus();
            break;
        case "*":
            operation=new Multiplication();
            break;
        case "/":
            operation=new Division();
            break;
        }
        return  operation;
    }
}

4.創建測試類 運行 測試結果

public class FactoryTest {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("請輸入第一個數字:");
        double num1 = scanner.nextInt();
        System.out.println("請輸入運算符:");
        String operation = scanner.next();
        System.out.println("請輸入第二個數字:");
        double num2 = scanner.nextInt();
        //創建運算的實例對象
        Operation o = OperationFactory.getOperation(operation);
        //輸出結果
        System.out.println(o.getResult(num1, num2));
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM