

/**
- @Author: cxh
- @CreateTime: 18/1/3 23:32
- @ProjectName: JavaBaseTest
*/
public interface Operation {
void setFirst(int first);
void setSecond(int second);
int getResult();
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/3 23:30
-
@ProjectName: JavaBaseTest
*/
public class AddOperation implements Operation {
private int first,second;
@Override
public void setFirst(int first) {
this.first=first;
}
@Override
public void setSecond(int second) {
this.second=second;
}
public int getResult(){
return first+second;
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/3 23:43
-
@ProjectName: JavaBaseTest
*/
public class MulOperation implements Operation {
private int first,second;
public void setFirst(int first) {
this.first = first;
}
public void setSecond(int second) {
this.second = second;
}
@Override
public int getResult() {
return first*second;
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/3 23:43
-
@ProjectName: JavaBaseTest
*/
public class MulOperation implements Operation {
private int first,second;
public void setFirst(int first) {
this.first = first;
}
public void setSecond(int second) {
this.second = second;
}
@Override
public int getResult() {
return first*second;
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/3 23:44
-
@ProjectName: JavaBaseTest
*/
public class DivOperation implements Operation {
private int first,second;
public void setFirst(int first) {
this.first = first;
}
public void setSecond(int second) {
this.second = second;
}
@Override
public int getResult() {
try{
return first/second;
}catch (Exception e){
return 0;
}
}
}
/**
- @Author: cxh
- @CreateTime: 18/1/3 23:33
- @ProjectName: JavaBaseTest
*/
public interface CreateFactory {
Operation getOperation();
}
/**
- @Author: cxh
- @CreateTime: 18/1/3 23:34
- @ProjectName: JavaBaseTest
*/
public class AddFactory implements CreateFactory {
@Override
public Operation getOperation() {
return new AddOperation();
}
}
/**
- @Author: cxh
- @CreateTime: 18/1/3 23:36
- @ProjectName: JavaBaseTest
*/
public class SubFactory implements CreateFactory {
@Override
public Operation getOperation() {
return new SubOperation();
}
}
/**
- @Author: cxh
- @CreateTime: 18/1/6 11:43
- @ProjectName: JavaBaseTest
*/
public class MulFactory implements CreateFactory {
@Override
public Operation getOperation() {
return new MulOperation();
}
}
/**
- @Author: cxh
- @CreateTime: 18/1/6 11:43
- @ProjectName: JavaBaseTest
*/
public class DivFacotry implements CreateFactory {
@Override
public Operation getOperation() {
return new DivOperation();
}
}
/**
-
@Author: cxh
-
@CreateTime: 18/1/6 11:44
-
@ProjectName: JavaBaseTest
*/
public class Client{
public static void main(String[] args) {
CreateFactory factory;
Operation operation;
//加法
factory=new AddFactory();
operation=factory.getOperation();
operation.setFirst(11);
operation.setSecond(22);
System.out.println("11+22="+operation.getResult());
//减法
factory=new SubFactory();
operation=factory.getOperation();
operation.setFirst(11);
operation.setSecond(22);
System.out.println("11-22="+operation.getResult());
//乘法
factory=new MulFactory();
operation=factory.getOperation();
operation.setFirst(11);
operation.setSecond(22);
System.out.println("11*22="+operation.getResult());
//除法
factory=new DivFacotry();
operation=factory.getOperation();
operation.setFirst(22);
operation.setSecond(11);
System.out.println("22/11="+operation.getResult());
}
}
输出:
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|