适配器模式:将一个类的接口转换成客户想要的另一个接口,使那些因接口不兼容而无法协同工作的类可以协同工作。先来看一个案例:设置图书界面//图书界面interfaceBookInterface{//翻页方法publicfunctionturnPage();//翻书方法publicfunctionopen();}//纸书实现类BookimplementsBookInterface{publicfunctionturnPage(){echo"纸书翻页".“
”;}publicfunctionopen(){echo“纸书打开”。“
”;}}客户端测试://客户端测试$book=newBook();$book->open();$book->turnPage();输出结果:纸质书打开纸质书翻页。这时候,你想创建一个有用的类,它可以和其他不相关的类或未预料到的类(即接口不一定兼容的类)一起工作。如下://待适配对象classKindle{publicfunctionturnPage(){echo"e-bookpageturning".“
”;}publicfunctionopen(){echo"电子书打开"."
";}}类KindleAdapter实现BookInterface{protected$_kindle;公共函数__construct($obj){$this->_kindle=$obj;}publicfunctionturnPage(){$this->_kindle->turnPage();}publicfunctionopen(){$this->_kindle->open();}}客户端测试:$kindle=newKindleAdapter(newKindle());$kindle->打开();$kindle->turnPage();输出结果:电子书打开电子书翻页
