zoukankan      html  css  js  c++  java
  • 原型模式

    <?php
    
    /**
     * 原型模式
     * 来自<<深入php面向对象,模式与实践>>
     * 通过克隆创建对象
     */
    
    class Sea {}
    class EarthSea extends Sea{}
    class MarsSea extends Sea{}
    
    class Plains {}
    class EarthPlains extends Plains{}
    class MarsPlains extends Plains{}
    
    class Forest {}
    class EarthForest extends Forest{}
    class MarsForest extends Forest{}
    
    class TerrainFactory {
        private $sea;
        private $forest;
        private $plains;
        
        function __construct($sea, $forest, $plains) {
            $this->sea = $sea;
            $this->forest = $forest;
            $this->plains = $plains;
        }
        
        function getSea() {
            return clone $this->sea;
        }
        
        function getForest() {
            return clone $this->forest;
        }
        
        function getPlains() {
            return clone $this->plains;
        }
    }
    
    $tFactory = new TerrainFactory(new Sea, new Forest, new Plains);
    
    var_dump($tFactory->getSea());
    var_dump($tFactory->getForest());
    var_dump($tFactory->getPlains());
  • 相关阅读:
    jquery2
    数据库回顾
    jquery
    BOM DOM 注意事項
    JavaScript 注意
    javascrip
    CSS
    html
    网络编程
    淘宝下单高并发解决方案
  • 原文地址:https://www.cnblogs.com/mtima/p/3187980.html
Copyright © 2011-2022 走看看