php 工厂模式
<?php interface abstracted{ public function realCreate(); } //女人类 class Woman{ public function action(){ echo ‘这是女人‘; } } //男人类 class Man{ public function action(){ echo ‘这是男人‘; } } //创建女人 class WomanCreator implements abstracted { public $chromosome;//染色体 public function realCreate(){ if ($this->chromosome == "xx") { return new Woman(); } } } //创建男人 class ManCreator implements abstracted { public $chromosome; public function realCreate(){ if ($this->chromosome == "xy" || $this->chromosome == "xyy") { return new Man(); } } } //人类工厂 class PersonFactory{ public function create($what){ $create = $what."Creator"; return $create = new $create(); } } $create = new PersonFactory(); $instance = $create->create(‘Woman‘); $instance->chromosome = "xx"; $instance->realCreate()->action(); ?>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。