组合模式强调整体与部分的关系,如数据结构中的树结构等
类图:
java实现
public abstract class AbsPart {
public abstract void getInfo();
}
public class Leaf extends AbsPart {
@Override
public void getInfo() {
}
}
public class ConcretePart extends AbsPart {
private List<AbsPart> list = new ArrayList<>();
public void addPart(AbsPart absPart){
this.list.add(absPart);
}
@Override
public void getInfo() {
}
}
php实现
abstract class AbsPart
{
public abstract function getInfo();
}
class Leaf extends AbsPart
{
public function getInfo()
{
echo 'Leaf';
}
}
class ConcretePart extends AbsPart
{
private $arrPart;
public function __construct()
{
$arrPart = array();
}
public function addPart(AbsPart $part)
{
$this->array[] = $part;
}
public function getInfo()
{
echo 'ConcretePart';
}
}