本文章來給大家介紹php入門教程之工廠模式哦,工廠模式概念:實例化對象,用工廠方法替代new操作,有需要了解學習的朋友可參考.
工廠模式實例代碼:
<?php //首先定義什么是人類 interface Human { //人是愉快的,會笑的 public function laugh(); //人類還會哭,代表痛苦 public function cry(); //人類會說話 public function talk(); } //然后定義具體的人種 class YellowHuman implements Human {//黃色人種,這個翻譯的不準確,將就點吧 function cry() { var_dump( "黃色人種會哭");} function laugh() {var_dump( "黃色人種會大笑,幸福呀!");} function talk() {var_dump( "黃色人種會說話,一般說的都是雙字節(jié)"); } } class WhiteHuman implements Human { //白色人種 public function cry() {var_dump("白色人種會哭");} public function laugh() {var_dump("白色人種會大笑,侵略的笑聲"); } public function talk() {var_dump("白色人種會說話,一般都是但是單字節(jié)!"); } } class BlackHuman implements Human { //黑色人種 public function cry() {var_dump("黑色人種會哭");} public function laugh() {var_dump("黑色人種會大笑,侵略的笑聲"); } public function talk() {var_dump("黑色人種會說話,一般都是但是單字節(jié)!"); } } //人種也定義完畢了,那我們把八卦爐定義出來: class HumanFactory { //定一個烤箱,泥巴塞進去,人就出來,這個太先進了 public static function createHuman( $c ){ if ($c instanceof Human ) {//判斷是否繼承自Human return $c; }else { var_dump("必須跟HuMan有一腿"); } } } var_dump("------------造出的第一批人是這樣的:白人-----------------"); $whiteHuman = HumanFactory::createHuman( new WhiteHuman()); $whiteHuman->cry(); $whiteHuman->laugh(); $whiteHuman->talk(); //女媧第二次造人,火候加足點,然后又出了個次品,黑人 var_dump("nn------------造出的第二批人是這樣的:黑人-----------------"); $blackHuman = HumanFactory::createHuman(new BlackHuman()); $blackHuman->cry(); $blackHuman->laugh(); $blackHuman->talk(); //第三批人了,這次火候掌握的正好,黃色人種(不寫黃人,免得引起歧義),備注:RB人不屬于此列 var_dump("nn------------造出的第三批人是這樣的:黃色人種-----------------"); $yellowHuman = HumanFactory::createHuman(new YellowHuman()); $yellowHuman->cry(); $yellowHuman->laugh(); $yellowHuman->talk(); ?>
相關(guān)文章:
立即學習“PHP免費學習筆記(深入)”;
PHP怎么學習?PHP怎么入門?PHP在哪學?PHP怎么學才快?不用擔心,這里為大家提供了PHP速學教程(入門到精通),有需要的小伙伴保存下載就能學習啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號