模板模式

 

 

 1 <?php
 2 
 3 /**
 4  * 模板方法模式又叫模板模式,该模式在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。
 5  * 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
 6  * 
 7  * 由于模板定义了子类的行为,所以是行为型模式
 8  */
 9 
10 abstract class Game
11 {
12     abstract public function initialize();
13     abstract public function start();
14     abstract public function end();
15 
16 
17     final public function play()
18     {
19         $this->initialize();
20         $this->start();
21         $this->end();
22     }
23 }
24 
25 
26 class BasketBall extends Game
27 {
28     public function initialize()
29     {
30         echo "<br/>BasketBall initialize";
31     }
32 
33     public function start()
34     {
35         echo "<br/>BasketBall start";
36     }
37 
38     public function end()
39     {
40         echo "<br/>BasketBall end";
41     }
42 }
43 
44 class FootBall extends Game
45 {
46     public function initialize()
47     {
48         echo "<br/>FootBall initialize";
49     }
50 
51     public function start()
52     {
53         echo "<br/>FootBall start";
54     }
55 
56     public function end()
57     {
58         echo "<br/>FootBall end";
59     }
60 }
61 
62 
63 $b = new BasketBall();
64 $b->play();
65 
66 $f = new FootBall();
67 $f->play();
View Code

 

posted @ 2017-01-08 15:08  _logan  阅读(139)  评论(0编辑  收藏  举报