PHP 類工廠模式

<?php
/**
*工廠模式就是一種類,具備爲您建立對象的某些方法,這樣就可使用工廠類建立對象,而不直接使用new。這樣若是想更改建立的對象類型,只需更改工廠便可
*/php

class Factory
{
public static function create($type)
{
switch ($type) {
case 'rect':
return new Rect();
break;
case 'triangle':
return new Triangle();
break;
case 'circular':
return new Circular();
break;
defalut:
return null;
break;
}
}
}ide

abstract class Shape
{
abstract public function Area();
}對象

class Rect extends Shape
{
private $width;
private $height;ci

public function Area(){it

}io

public function __toString(){
return "矩形";
}
}function

class Triangle extends Shape
{
private $side1;
private $side2;
private $side3;class

public function Area(){方法

}static

public function __toString(){
return "三角形";
}
}

class Circular extends Shape
{
private $radius;
const PAI = 3.14;

public function Area(){

}

public function __toString(){
return "圓形";
}
}

$obj = Factory::create('rect');

if($obj instanceof Shape){ echo $obj;}else{ exit("沒有這個形狀");}

相關文章
相關標籤/搜索