Al escribir un programa de calculadora, puede separar la lógica comercial de la pantalla, y la lógica de negocios se encapsula en una clase (encapsulación); Si desea agregar una nueva operación, primero puede crear una clase base de operación, y luego se heredan varias operaciones de la clase de operación e implementar la función virtual getResult (). En este momento, agregar una nueva operación solo requiere una nueva clase, es decir, no se requieren operaciones anteriores para participar en la compilación. ¿Cómo dejo saber a la calculadora qué operación quiero usar? Se debe considerar una clase separada para hacer este proceso de creación de instancias, y esa es la fábrica. Cree una clase OperationFactory, pase en los parámetros y la función CreateOperate puede instanciar el objeto apropiado.
El código Java es el siguiente:
Operación de clase pública OperationFactory {Operación de clase abstracta estática pública {Private Double _NumberA = 0; privado doble _numberb = 0; public Double get_numberA () {return _numberA; } public void set_numberA (double _NumberA) {this._numberA = _NumberA; } public doble get_numberb () {return _numberb; } public void set_numberb (doble _numberb) {this._numberb = _numberb; } abstracto doble getResult (); // TODO Auto Generado Constructor Stub} public static class OperationAdd extiende la operación {doble getResult () {double resultado = get_numberA () + get_numberb (); resultado de retorno; }} Operaciones de clase estática pública extiende la operación {doble getResult () {double resultado = get_numberA () - get_numberb (); resultado de retorno; }} Operación estática pública createOperate (operación de cadena) {operador de operación = null; if (operate.equals ("+")) {operator = new OperationAdd (); } else if (operate.equals ("-")) {operator = new Operationsub (); } Operador de retorno; } public static void main (string [] args) {operador de operación; operador = OperationFactory.CreateOpere ("+"); operador.set_numberma (1); operador.set_numberb (2); double resultado = operator.getResult (); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.