계산기 프로그램을 작성할 때 비즈니스 로직을 디스플레이에서 분리 할 수 있으며 비즈니스 로직이 클래스 (캡슐화)로 캡슐화됩니다. 새 작업을 추가하려면 먼저 기본 작업 클래스를 생성 한 다음 다양한 작업이 작업 클래스에서 상속되고 getResult () 가상 함수를 구현합니다. 현재 새 작업을 추가하려면 새로운 클래스 만 필요합니다. 즉, 컴파일에 참여하기 위해 이전 작업이 필요하지 않습니다. 계산기에 어떤 작업을하고 싶은지 알려주려면 어떻게해야합니까? 인스턴스를 생성하는이 과정을 수행하기 위해 별도의 클래스가 고려되어야하며, 이것이 공장입니다. OperationFactory 클래스를 생성하고 매개 변수를 전달하면 기능 CreateOperate가 적절한 개체를 인스턴스화 할 수 있습니다.
Java 코드는 다음과 같습니다.
공개 클래스 OperationFactory {public static Abstract 클래스 작동 {private double _numbera = 0; 개인 Double _numberb = 0; public double get_numbera () {return _numbera; } public void set_numbera (double _numbera) {this._numbera = _numbera; } public double get_numberb () {return _numberb; } public void set_numberb (double _numberb) {this._numberb = _numberb; } Abstract Double GetResult (); // todo 자동 생성 생성자 스텁} 공개 정적 클래스 OperationAdd는 작동 {double getResult () {double result = get_numbera () + get_numberb (); 반환 결과; }} public static class operationsub Extends Operation {double getResult () {double result = get_numbera () -get_numberb (); 반환 결과; }} public static 작동 CreateOperate (문자열 작동) {Operation Operator = null; if (Operate.equals ( "+")) {OPERATOR = new OperatAdd (); } else if (Operate.equals ( "-")) {Operator = new OperationSub (); } 반환 연산자; } public static void main (String [] args) {작동 연산자; 연산자 = OperationFactory.CreateOperate ( "+"); Operator.set_numbera (1); Operator.set_numberb (2); Double result = Operator.getResult (); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.