자바 디자인 모델 의 4 (전형 적 인 면접 문제: 공장 모델 이 개발 에서 의 활용)
면접 문제: 간단 한 계산 기 를 쓰다.
코드 구현:
추상 적 인 연산 클래스:
package com.qianyan.calcuator;
public abstract class Operation {
//
private double num1;
//
private double num2;
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public abstract double getResult();
}
공장 클래스 만 들 기:
package com.qianyan.factory;
import com.qianyan.calcuator.AddOperation;
import com.qianyan.calcuator.Operation;
import com.qianyan.calcuator.SubtractOperation;
public class OperationFactory {
public static Operation getOperation(String oper){
if("+".equals(oper))
return new AddOperation();
else if("-".equals(oper))
return new SubtractOperation();
else
return null;
}
}
추상 연산 의 실현 클래스:
package com.qianyan.calcuator;
public class AddOperation extends Operation{
@Override
public double getResult() {
return this.getNum1() + this.getNum2();
}
}
package com.qianyan.calcuator;
public class SubtractOperation extends Operation{
@Override
public double getResult() {
return this.getNum1() - this.getNum2();
}
}
사용자 클래스:
package com.qianyan.user;
import java.util.Scanner;
import com.qianyan.calcuator.Operation;
import com.qianyan.factory.OperationFactory;
public class User {
public static void main(String[] args) {
System.out.println("---- C ----");
Scanner input = new Scanner(System.in);
System.out.println(" :");
String str1 = input.nextLine();
System.out.println(" :");
String oper = input.nextLine();
System.out.println(" :");
String str2 = input.nextLine();
double num1 = Double.parseDouble(str1);
double num2 = Double.parseDouble(str2);
Operation opertion = OperationFactory.getOperation(oper);
opertion.setNum1(num1);
opertion.setNum2(num2);
double result = opertion.getResult();
System.out.println(str1 + oper + str2 + "=" + result);
}
}
테스트 결과:
---- C ----
:
5
:
-
:
3
5-3=2.0
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.