该模式属于结构型模式
什么是适配器模式?
将一个类的接口转换成客户希望的另外一个接口,使得原本不兼容的接口能够一起工作。通俗的理解就是将不同接口适配成统一的接口。
生活中就有很多适配器,比如 电源适配器220V。 这里面呢 就是将220V的电压通过一个中间的一个变压器,变成我们一个适用的5V的电压。
话不多说上代码:
<?php interface PerfectMan { public function cook(); public function writePhp(); } //Wife类是已知的类,假设我们不方便修改该类中的代码 class Wife { public function cook() { echo '我会做满汉全席<br/>'; } } class Man implements PerfectMan { protected $wife; public function __construct($wife) { $this->wife = $wife; } public function writePhp() { echo '我会写php代码<br/>'; } /* *还要实现接口类中的cook()方法,但是Wife类中已经有cook方法了,我们没有必要自己在实现一遍cook方法, *所以我们使用已知的Wife类来间接的实现接口中的cook()方法 * *这就是适配器模式。我们通过适配器模式就达到了统一接口的目的 */ public function cook() { $this->wife->cook(); } } //测试 $man = new Man(new Wife); $man->cook(); //output:我会做满汉全席
推荐阅读:再谈 php设计模式之适配器(adapter)模式
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论