php 适配器模式

适配器模式-仿生机器人

(1)目标抽象类Robot(机器人接口)

interface Root 
{
	public function cry();
	public function move();
}

(2)适配者类Dog(Dog类)

class Dog
{
	public function wang()
	{
		echo '狗汪汪叫';
	}
	public function run()
	{
		echo '够快快跑';
	}
}

(2)适配器类DogAdapter(DogAdapter类)

class DogAdapter extends Dog implements Root
{
	public function cry()
	{
		echo '机器人模仿:';
		parent::wang();
	}
	public function move()
	{
		echo '机器人模仿:';
		parent::run();
	}
}

(3)辅助代码,客户端测试类

class client
{
	public function runing()
	{
		$animalstring = simplexml_load_file('animal.xml');
		foreach ($animalstring as $animal ) {
			eval("\$root = new {$animal->name}();");
		    $root->cry();
			echo '<br>';
			$root->move();
			echo '<br>';
			echo '<br>';
		}
	}
}

$client = new client();
$client->runing();
配置文件

<?xml version="1.0" encoding="UTF-8"?>  
  <animal>  
	  <Dog>  
		  <name>DogAdapter</name>   
	  </Dog>  	  
  </animal>  

如果向系统添加 可通过以下为例添加

class Bird
{
	public function tweedle()
	{
		echo '鸟儿叽叽叫';
	}
	public function fly()
	{
		echo '鸟儿快快飞';
	}
}

class BirdAdapter extends Bird implements Root
{
	public function cry() 
	{
		echo '机器人模仿:';
		parent::tweedle();	
	}
	public function move()
	{
		echo '机器人模仿:';
		parent::fly();
	}
}


配置文件添加

	  <Bird>  
		  <name>BirdAdapter</name>   
	  </Bird> 


运行结果

机器人模仿:狗汪汪叫
机器人模仿:够快快跑

机器人模仿:鸟儿叽叽叫
机器人模仿:鸟儿快快飞

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值