php策略模式的有关问题~下~多谢 帮改下下面的代码
Jun 13, 2016 pm 01:35 PM
class
function
public
quot
php策略模式的问题~~~高手指点下~~谢谢 帮改下下面的代码
我把学武术 和使用武器做成了接口,行为做成了类 但怎么用都是很乱,,高手指点下。完了立刻给分
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><?php abstract class person{ abstract public function speak(); public $a; public $wq; public function studywx($wx){ $a=new $wx; return $a; } public function usewq($wq){ $a=new $wq; return $wq; } } class chperson extends person{ public function speak(){ echo "中国人在说话,各路让行!~"; } } class amperson extends person{ public function speak(){ echo "美国人在说,叽叽喳喳!~"; } } class enperson extends person{ public function speak(){ echo "英国人在叫,汪汪汪~"; } } interface istudy{ public function studywx(); public function studyyy(); } class studyw implements istudy{ public function studywx(){ echo "学习武术"; } } class studtq implements istudy{ public function studywx(){ echo "学习泰拳"; } } interface iwq{ public function usewq(); } class jian implements iwq{ public function usewq(){ echo "用剑" } } class qiang implements iwq{ public function usewq(){ echo "用洋枪" } } class xiaoqiang implements iwq{ public function usewq(){ echo "用小米加布枪" } } $chperson=new chperson(); $chperson->studywx(studtq); $chperson->usewq(xiaoqiang); $chperson->studywx(studtq); $amperson=new amperson(); $amperson->studywx(studyw); $amperson->usewq(xiaoqiang); $amperson->studywx(qiang); ?>
登入後複製
------解决方案--------------------
稍微简化了你的例子,看注释应该清晰多了吧
- PHP code
<?php abstract class person{ abstract public function speak(); public $a; public $wq; public function studywx($wx){ $wx->studywx(); } public function usewq($wq){ $wq->usewq(); } } class chperson extends person{ public function speak(){ echo "中国人在说话,各路让行!~"; } } class amperson extends person{ public function speak(){ echo "美国人在说,叽叽喳喳!~"; } } interface istudy{ public function studywx(); } class studyw implements istudy{ public function studywx(){ echo "如来神掌"; } } class studtq implements istudy{ public function studywx(){ echo "葵花宝典"; } } interface iwq{ public function usewq(); } class jian implements iwq{ public function usewq(){ echo "倚天剑"; } } class qiang implements iwq{ public function usewq(){ echo "洋枪"; } } $chiness=new chperson();//上来个中国人 $chiness->studywx(new studyw()); //给本如来神掌学 $chiness->usewq(new jian());//给他把倚天剑 $american=new amperson();//上来个美国人 $american->studywx(new studtq());//给本葵花宝典学 $american->usewq(new qiang());//给他个破洋枪 <div class="clear"> </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

SpringBoot怎麼透過自訂classloader加密保護class文件
