zoukankan      html  css  js  c++  java
  • 模板方法模式

    模板方法:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 T模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

    模板方法模式类结构图:

    模板方法模式类结构图

    php实现:

    <?php
    abstract class AbstractClass{
        protected abstract function step1();
        protected abstract function step2();
        public final function templateMethod(){
            $this->step1();
            $this->step2();
        }
    }
    
    class ConcreteClass1 extends AbstractClass{
        protected function step1(){
            echo "1
    ";
        }
        protected function step2(){
            echo "2
    ";
        }
    }
    
    class ConcreteClass2 extends AbstractClass{
        protected function step1(){
            echo "one
    ";
        }
        protected function step2(){
            echo "two
    ";
        }
    }
    
    class Client{
        public static function run(){
            $class1 = new ConcreteClass1();
            $class2 = new ConcreteClass2();
            $class1->templateMethod();
            $class2->templateMethod();
        }
    }
    
    Client::run();
    ~                 
    

      

  • 相关阅读:
    day4-1
    day3-1
    day1-3
    day2-1
    day1-2
    day1 1
    对象的高度整合
    类和数据类型
    对象的绑定方法
    python总结
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/4238654.html
Copyright © 2011-2022 走看看