您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP-模板(template)形式

2025/12/17 0:11:19发布18次查看
php-模板(template)模式
1.定义:定义一个操作的算法的框架,将一些步骤的实现推迟到子类.
其实意思就是操作的算法的骨架不变,即规定好了第一步应该干什么,第二步干什么,再次干什么,但是不规定具体内容.
2.图示
abstractclass(抽象类):定义了一到多个的抽象方法,以供具体的子类来实现它们;而且还要实现一个模板方法,来定义一个算法的骨架。
concreteclass(具体类):实现父类中的抽象方法以完成算法中与特定子类相关的步骤
在此那超市购物为例子,如某a购物非常有规律,他一般先去书籍区转转,然后再去蔬菜瓜果区看看,再去服装鞋帽区逛逛,最后去家电数码区(这就相当与abstractclass) 
话说上周六a去了一次超市
先到了书籍区,看到莫言的小说,感到应该随随大众,买了一本>,立刻感到成了文艺青年,和周围人不一样了;
后去了蔬菜瓜果区,看到了最喜欢的橘子。。。。。;
然后到了服装鞋帽区,试了试阿迪王的最新款,买了;
到了家电数码区,看中了某款手机手机,没有钱买。
(这就相当与concreteclass)
惯例上代码:
1.抽象类
abstract class abstractclass{ public function trip(){ $this->booktrip(); $this->vegetablestrip(); $this->shoestrip(); $this->digitaltrip(); } abstract protected function booktrip(); abstract protected function vegetablestrip(); abstract protected function shoestrip(); abstract protected function digitaltrip();}
2.具体类
class concreteclass extends abstractclass{ protected function booktrip(){ echo 买>\n; } protected function vegetablestrip(){ echo 买10个橘子\n; } protected function shoestrip(){ echo 买阿迪王\n; } protected function digitaltrip(){ echo 没钱没手机\n; }}
3.client
$instance=new concreteclass();$instance->trip();
最后模板模式的本质就是固定算法骨架
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product