Ao escrever um programa de calculador, você pode separar a lógica de negócios da tela e a lógica de negócios é encapsulada em uma classe (encapsulamento); Se você deseja adicionar uma nova operação, primeiro pode criar uma classe base de operação e, em seguida, várias operações são herdadas da classe de operação e implementar a função virtual getResult (). No momento, a adição de uma nova operação requer apenas uma nova classe, ou seja, nenhuma operação anterior deve participar da compilação. Como faço para que a calculadora saiba qual operação eu quero usar? Uma classe separada deve ser considerada para fazer esse processo de criação de instâncias, e essa é a fábrica. Crie uma classe OperalFactory, passe nos parâmetros e a função CreateOperate pode instanciar o objeto apropriado.
O código Java é o seguinte:
public class OperationFactory {public static abstract class Operação {private duplo _Numberra = 0; duplo privado _numberb = 0; public Double get_numbera () {return _NumberA; } public void set_numbera (duplo _numbera) {this._numberra = _numbera; } public duplo get_numberb () {return _numberb; } public void set_numberb (duplo _numberb) {this._numberb = _numberb; } abstrato duplo getResult (); // TODO Construtor GOERATADO AUTO GERODO} Classe estática pública Operações Operação estende a operação {duplo getResult () {resultado duplo = get_numberra () + get_numberB (); resultado de retorno; }} classe estática pública operações, estende a operação {duplo getResult () {duplo resultado = get_numbera () - get_numberb (); resultado de retorno; }} operação estática pública CreateOperate (operação da string) {Operador de operação = null; if (opera.equals ("+")) {operator = new OperationAdd (); } else if (operation.equals ("-")) {operator = new Operationsub (); } operador de retorno; } public static void main (string [] args) {Operador de operação; operador = OperaçãoFactory.CreateOperate ("+"); operator.set_numera (1); operator.set_numberb (2); resultado duplo = operator.getResult (); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.