問題:假設有一款遊戲,分爲A和B兩個地方,A和B兩個地方都有E,F三個環境,三個環境分別都有一些操做。php
<?php abstract class E { abstract function index(); } abstract class F { abstract function index(); } class AE extends E { public function index() { echo 'AE'; } } class AF extends F { public function index() { echo 'AF'; } } class BE extends E { public function index() { echo 'BE'; } } class BF extends F { public function index() { echo 'BF'; } } class AddressFactory { private $f; private $e; public function __construct(E $e,F $f) { $this->e = $e; $this->f = $f; } public function getF() { return clone $this->f; } public function getE() { return clone $this->e; } } $all = new AddressFactory(new BE(),new AF()); $e = $all->getE(); $e->index();