本文章來給大家介紹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)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
KB5060533を修正する方法Windows 10にインストールできませんか?
4週間前
By DDD
砂丘:覚醒 - 斷熱布を入手する場所
4週間前
By Jack chen
Gmailログイン:Gmail -Minitoolからサインアップ、サインイン、またはサインアウトする方法
1 か月前
By Jack chen
KB5060999を修正する方法Windows 11にインストールできませんか?
3週間前
By DDD
汚染された聖杯のギルドガイド:アバロンの崩壊
4週間前
By Jack chen

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
8518
17


Java チュートリアル
1744
16


CakePHP チュートリアル
1598
56


Laravel チュートリアル
1538
28


PHP チュートリアル
1397
31

