工厂方法:构建创建者类的继承等级
<?php
//表格接口
interface chart
{
public function display();
}
// 折线类
class LineChart implements chart
{
public function display()
{
echo "折线图";
}
}
//饼状类
class PieChart implements chart
{
public function display()
{
echo "饼状图";
}
}
//工厂
class cf
{
public static function getchart($type)
{
switch ($type) {
case 'pie': {
return new PieChart();
}
case'Line': {
return new LineChart();
}
default: {
return null;
}
}
}
}
//使用
$chart = cf::getchart('pie');
$chart->display();
结果可得:
饼状图
解决了 当代码关注于抽象类型时如何创建对象实例的问题
网友评论