abstract:<?php class Animal { public function cat() { return "貓貓"; } } class Beast { public function dog() { return &
<?php class Animal { public function cat() { return "貓貓"; } } class Beast { public function dog() { return "狗狗"; } } class Factory { public static function create($className) { switch (strtolower($className)) { case 'animal': return new Animal(); break; case 'beast': return new Beast(); break; } } } class People { public function woman() { $animal = Factory::create('animal'); return "她喜歡".$animal->cat(); } public function man() { $beast = Factory::create('beast'); return '他喜歡'.$beast->dog(); } } $people = new People; echo $people->woman(); echo "<br>"; echo $people->man(); ?>