1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php interface Animal{ public function say(); } class Dog implements Animal{ function say(){ echo 'wangwang'; } } class Person implements Animal{ public function say(){ echo 'hello world'; } } class EasyFactory{ //简单工厂类 public static function getAmimal($type) { $arr = array('Dog', 'Person'); if (!in_array($type, $arr)) { echo 'no way';exit; } $animal = new $type; return $animal; } } $obj = EasyFactory::getAmimal('Dog1'); $obj = EasyFactory::getAmimal('Dog'); $obj->say(); $obj = EasyFactory::getAmimal('Person'); $obj->say(); |