PHP戦略モードの問題~~~専門家の指導~~以下のコードの修正にご協力いただきありがとうございます
武術の学習と武器の使用をインターフェースに、動作をクラスにしましたが、どう使っても非常に汚いですそれ、専門家、アドバイスをください。
<!-- 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 抽象クラスの人{ 抽象パブリック関数 speech(); パブリック $a; パブリック $wq; パブリック関数 Studywx($wx){ $wx->studywx(); } パブリック関数 usewq($wq){ $wq->usewq(); } } クラス chperson は person{ パブリック関数 speech(){ echo "中国人が話しているので、みんな道を譲ってください!~"; } } クラス amperson 拡張 person{ パブリック関数 speech(){ echo "アメリカ人は「チャーピング!~」と言っています。 } } インターフェイス istudy{ パブリック関数studywx(); } クラス Studyw は istudy{ を実装します パブリック関数 Studywx(){ 「如来掌」をエコーする。 } } クラス stacktq は istudy{ を実装します パブリック関数 Studywx(){ 「ひまわりコレクション」をエコーします。 } } インターフェイス iwq{ パブリック関数 usewq(); } クラス jian は iwq{ を実装します パブリック関数 usewq(){ 「永遠の剣」をエコーします。 } } クラス qiang は iwq{ を実装します パブリック関数 usewq(){ 「外国の銃」をエコーします。 } } $chiness=new chperson();//中国人が来た $chiness->studywx(newstudyw()); //この如来に教訓を与えてください $chiness->usewq(new jian());//彼に天の剣を与えてください $american=new amperson();//アメリカ人が来た $american->studywx(new stacktq());//このひまわりブックで勉強しましょう $american->usewq(new qiang());//彼に外国製の銃を与えてください <div class="clear"></div>