适配器模式(Adapter Pattern)
将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器继承或依赖已有的对象,实现想要的目标接口.
<?php
// MP3播放接口
interface IMp3
{
public function playMp3();
}
// MP4播放接口
interface IMp4
{
public function playMp4();
}
// 实现MP4播放接口的实体类
class Mp4Player implements IMp4
{
public function playMp4()
{
echo "播放MP4格式文件<br>";
}
}
// 音频适配器类,默认实现MP3接口,继承MP4实体类
class AudioAdapter extends Mp4Player implements IMp3
{
public function playMp3()
{
echo "播放MP3格式文件<br>";
}
}
$audioPlayer = new AudioAdapter();
$audioPlayer->playMp3(); // 播放MP3格式文件
$audioPlayer->playMp4(); // 播放MP4格式文件