独角兽企业重金招聘Python工程师标准>>>
问题:一个公司的员工被要求与另一个公司进行数据交流,现在暂定使用A格式来写,但是后期可能会有B或更多的格式。或许还会出现不同的产品。比如产品PA,产品PB。
<?phpabstract class PAEncoder{abstract function encode();}abstract class PBEncoder{abstract function encode();}abstract class Manager{const PA = 1;const PB = 2;abstract function make($init);}class AManager extends Manager{public function make($init){switch ($init) {case self::PA:return new PAA();case self::PB:return new PAB();default:return new PAA();}}}class BManager extends Manager{public function make($init){switch ($init) {case self::PA:return new PBA();case self::PB:return new PBB();default:return new PBA();}}}class PAA extends PAEncoder{public function encode(){echo 'PAA';}}class PAB extends PBEncoder{public function encode(){echo 'PAB';}}class PBA extends PAEncoder{public function encode(){echo 'PBA';}}class PBB extends PBEncoder{public function encode(){echo 'PBB';}}$a = new BManager();$pa = $a->make(1);$pa->encode();