zoukankan      html  css  js  c++  java
  • simple -- abstract

    <?php
    abstract class Operation {
        protected $_NumberA = 0;
        protected $_NumberB = 0;
        protected $_Result = 0;
        
        public function __construct($A, $B){
            $this->_NumberA = $A;
            $this->_NumberB = $B;
        }
        
        public function clearResult(){
            $this->_Result = 0;
        }
        
        abstract protected function getResult();
        
    }
    class OperationAdd extends Operation {
        
        public function getResult(){
            $this->_Result = $this->_NumberA + $this->_NumberB;
            return $this->_Result;
        }
        
    }
    class OperationSub extends Operation {
        
        public function getResult(){
            $this->_Result = $this->_NumberA - $this->_NumberB;
            return $this->_Result;
        }
    }
    class OperationFactory {
        
        //创建保存实例的静态成员变量
        private static $obj;
        
        //创建访问实例的公共的静态方法
        public static function CreateOperation($type, $A, $B){
            switch($type) {
                case '+':
                    self::$obj = new OperationAdd($A,$B);
                    break;
                case '-':
                    self::$obj = new OperationSub($A,$B);
                    break;
            }
            return self::$obj;
        }
    }
    $obj = OperationFactory::CreateOperation('-', 5, 6);
    echo $obj->getResult();
  • 相关阅读:
    idea用法
    pagehelper用法
    mybatis
    多线程2
    radio 标签状态改变时 触发事件
    多线程
    a标签点击后,给a标签添加样式
    servlet
    mybatis 查询
    springmvc 发送PUT 和 DELETE 请求
  • 原文地址:https://www.cnblogs.com/yhdsir/p/4649192.html
Copyright © 2011-2022 走看看