php工厂模式简单使用说明
本文章来给大家介绍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( "黄色人种会说话,一般说的都是双字节"); } } class WhiteHuman implements Human { //白色人种 public function cry() {var_dump("白色人种会哭");} public function laugh() {var_dump("白色人种会大笑,侵略的笑声"); } public function talk() {var_dump("白色人种会说话,一般都是但是单字节!"); } } class BlackHuman implements Human { //黑色人种 public function cry() {var_dump("黑色人种会哭");} public function laugh() {var_dump("黑色人种会大笑,侵略的笑声"); } public function talk() {var_dump("黑色人种会说话,一般都是但是单字节!"); } } //人种也定义完毕了,那我们把八卦炉定义出来: 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(); ?>
登入後複製
相关文章:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
刺客信條陰影:貝殼謎語解決方案
4 週前
By DDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
在哪裡可以找到原子中的起重機控制鑰匙卡
4 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
3 週前
By DDD

熱工具

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

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)