php策略模式的有关问题~下~多谢 帮改下下面的代码
php策略模式的问题~~~高手指点下~~谢谢 帮改下下面的代码
我把学武术 和使用武器做成了接口,行为做成了类 但怎么用都是很乱,,高手指点下。完了立刻给分
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?phpabstract 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
<?phpabstract 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>

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

類別和方法的概念和實例類別(Class):用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所共有的屬性和方法。物件是類別的實例。方法:類別中定義的函數。類別的建構方法__init__():類別有一個名為init()的特殊方法(建構方法),該方法在類別實例化時會自動呼叫。實例變數:在類別的宣告中,屬性是用變數來表示的,這種變數就稱為實例變量,實例變數就是用self修飾的變數。實例化:建立一個類別的實例,類別的具體物件。繼承:即一個派生類別(derivedclass)繼承基底類別(baseclass)的

function是函數的意思,是一段具有特定功能的可重複使用的程式碼區塊,是程式的基本組成單元之一,可以接受輸入參數,執行特定的操作,並傳回結果,其目的是封裝一段可重複使用的程式碼,提高程式碼的可重複使用性和可維護性。

每年Apple發布新的iOS和macOS大版本之前,用戶都可以提前幾個月下載測試版搶先體驗一番。由於大眾和開發人員都使用該軟體,蘋果公司為兩者推出了developer和public版即開發者測試版的公共測試版。 iOS的developer版和public版有什麼差別呢?從字面上的意思來說,developer版是開發者測試版,public版是公共測試版。 developer版和public版面向的物件不同。 developer版是蘋果公司給開發者測試使用的,需要蘋果開發者帳號才能收到下載併升級,是

class是python中的一個關鍵字,用來定義一個類,定義類別的方法:class後面加一個空格然後加類名;類名規則:首字母大寫,如果多個單字用駝峰命名法,如【class Dog()】。

jQuery是一種經典的JavaScript庫,被廣泛應用於網頁開發中,它簡化了在網頁上處理事件、操作DOM元素和執行動畫等操作。在使用jQuery時,常會遇到需要取代元素的class名稱的情況,本文將介紹一些實用的方法,以及具體的程式碼範例。 1.使用removeClass()和addClass()方法jQuery提供了removeClass()方法來刪除

在編寫PHP程式碼時,使用類別(Class)是一個非常常見的做法。透過使用類,我們可以將相關的功能和資料封裝在一個單獨的單元中,使程式碼更加清晰、易於閱讀和易於維護。本文將詳細介紹PHPClass的用法,並提供具體的程式碼範例,幫助讀者更好地理解如何在實際專案中應用類別來優化程式碼。 1.建立和使用類別在PHP中,可以使用關鍵字class來定義一個類,並在類別中定義屬性和方法。

Vue報錯:無法正確使用v-bind綁定class和style,怎麼解決?在Vue開發中,我們常常會用到v-bind指令來動態綁定class和style,但是有時候我們可能會遇到一些問題,如無法正確使用v-bind綁定class和style。在本篇文章中,我將為你解釋這個問題的原因,並提供解決方案。首先,讓我們先來了解v-bind指令。 v-bind用於將V

背景最近針對公司框架進行關鍵業務代碼進行加密處理,防止透過jd-gui等反編譯工具能夠輕鬆還原工程代碼,相關混淆方案配置使用比較複雜且針對springboot項目問題較多,所以針對class文件加密再通過自訂的classloder進行解密加載,此方案並不是絕對安全,只是加大反編譯的困難程度,防君子不防小人,整體加密保護流程圖如下圖所示maven插件加密使用自訂maven插件對編譯後指定的class檔案進行加密,加密後的class檔案拷貝到指定路徑,這裡是儲存到resource/corecla
