本文章來給大家介紹php入門教程之工廠模式哦,工廠模式概念:實例化對象,用工廠方法替代new操作,有需要了解學(xué)習(xí)的朋友可參考.
工廠模式實例代碼:
<?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)文章:
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機

Video Face Swap
使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章
如何修復(fù)KB5060533無法在Windows 10中安裝?
4 周前
By DDD
沙丘:覺醒 - 在哪里獲得絕緣織物
4 周前
By Jack chen
Gmail登錄:如何注冊,登錄或登錄Gmail -Minitool
1 個月前
By Jack chen
如何修復(fù)KB5060999無法在Windows 11中安裝?
3 周前
By DDD
污染的公會指南:阿瓦隆的淪陷
4 周前
By Jack chen

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)