package 工厂模式;
public abstract class Operation {
public abstract void GetResult(double NumberA,double NumberB);
}
package 工厂模式;
public class add extends Operation{
@Override
public void GetResult(double NumberA, double NumberB) {
System.out.println("相加得:"+(NumberA+NumberB));
}
}
package 工厂模式;
public class minus extends Operation{
@Override
public void GetResult(double NumberA, double NumberB) {
System.out.println("相减得:"+(NumberA-NumberB));
}
}
package 工厂模式;
public class multiplication extends Operation{
@Override
public void GetResult(double NumberA, double NumberB) {
System.out.println("相乘得:"+(NumberA*NumberB));
}
}
package 工厂模式;
public class division extends Operation{
@Override
public void GetResult(double NumberA, double NumberB) {
System.out.println("相除得:"+(NumberA/NumberB));
}
}
package 工厂模式;
public abstract class Factory {
public abstract Operation CreateOperation();
}
package 工厂模式;
public class addFactory extends Factory{
@Override
public Operation CreateOperation() {
// TODO Auto-generated method stub
return new add();
}
}
package 工厂模式;
public class minusFactory extends Factory{
@Override
public Operation CreateOperation() {
// TODO Auto-generated method stub
return new minus();
}
}
package 工厂模式;
public class MultiplicationFactory extends Factory{
@Override
public Operation CreateOperation() {
// TODO Auto-generated method stub
return new multiplication();
}
}
package 工厂模式;
public class divisionFactory extends Factory{
@Override
public Operation CreateOperation() {
// TODO Auto-generated method stub
return new division();
}
}
package 工厂模式;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入第一个数字:");
double NumberA=sc.nextInt();
System.out.print("请输入第二个数字:");
double NumberB=sc.nextInt();
System.out.println("四则运算结果:");
Operation operationadd=new add();
Factory factoryadd=new addFactory();
operationadd.GetResult(NumberA, NumberB);
factoryadd.CreateOperation();
Operation operationmu=new multiplication();
Factory factorymu=new MultiplicationFactory();
operationmu.GetResult(NumberA, NumberB);
factorymu.CreateOperation();
Operation operationminus=new minus();
Factory factoryminus=new minusFactory();
operationminus.GetResult(NumberA, NumberB);
factoryminus.CreateOperation();
Operation operationd=new division();
Factory factoryd=new divisionFactory();
operationd.GetResult(NumberA, NumberB);
factoryd.CreateOperation();
}
}