zoukankan      html  css  js  c++  java
  • 第一章 简单工厂模式

    面向对象编程永远在考虑:解藕和复用。

    设计模式是前辈总结的结果,这些模式都是基于问题本身的抽象,活学活用才是王道。

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    简单工厂模式具有面向对象编程的基本优点:封装、继承和多态。

    /**
     * Created by hero on 16-3-29.
     */
    public abstract class Operation {
        private double numberA;
        private double numberB;
    
        public double getNumberA() {
            return numberA;
        }
    
        public void setNumberA(double numberA) {
            this.numberA = numberA;
        }
    
        public double getNumberB() {
            return numberB;
        }
    
        public void setNumberB(double numberB) {
            this.numberB = numberB;
        }
    
        public abstract double getResult();
    }
    /**
     * Created by hero on 16-3-29.
     */
    public class OperationAdd extends Operation {
    
        @Override
        public double getResult() {
            return getNumberA() + getNumberB();
        }
    }
    View Code
    /**
     * Created by hero on 16-3-29.
     */
    public class OperationSub extends Operation {
        @Override
        public double getResult() {
            return getNumberA() - getNumberB();
        }
    }
    View Code
    /**
     * Created by hero on 16-3-29.
     */
    public class OperationFactory {
        public static Operation getOperatioin(String op) {
            Operation operation = null;
            switch (op) {
                case "+":
                    operation = new OperationAdd();
                    break;
                case "-":
                    operation = new OperationSub();
                    break;
            }
            return operation;
        }
    }
    public class Main {
    
        public static void main(String[] args) {
            Operation operation = OperationFactory.getOperatioin("+");
            operation.setNumberA(1);
            operation.setNumberB(2);
            System.out.println(operation.getResult());
        }
    }
  • 相关阅读:
    个人对回调函数的理解(personal understanding of callback function)
    蓄水池抽样及实现
    一些我做的软件
    poj1063 解题报告(poj 1063 analysis report)
    有关MAP、ML和EM的个人理解
    2012年总结
    asp.net中requiredfieldvalidator很纠结的问题(有关ClientScript属性)
    wcf在iis6上的部署
    GridView后台代码动态显示隐藏ItemTemplate
    aspx向silverlight传值
  • 原文地址:https://www.cnblogs.com/littlehoom/p/5335344.html
Copyright © 2011-2022 走看看