将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,比如一个网站根据男女用户分别展示不同的内容
<?php
interface Person
{
public function getInfo();
}
class Man implements Person
{
public function getInfo()
{
return 'show Man message';
}
}
class Woman implements Person
{
public function getInfo()
{
return 'show Woman message';
}
}
class Celue
{
private $_object;
public function setObject(Person $object)
{
$this->_object = $object;
}
public function showMessage()
{
$this->_object->getInfo();
}
}
$celue = new Celue();
$object = $_GET['ses'] == 'man' ? new Man() : new Woman();
$celue->setObject($object);
$celue->showMessage();