php策略模式的问题~~~高手指点下~~谢谢 帮改下下面的代码
我把学武术 和使用武器做成了接口,行为做成了类 但怎么用都是很乱,,高手指点下。完了立刻给分
php codestudywx(studtq);$chperson->usewq(xiaoqiang);$chperson->studywx(studtq);$amperson=new amperson();$amperson->studywx(studyw);$amperson->usewq(xiaoqiang);$amperson->studywx(qiang);?>
------解决方案--------------------
稍微简化了你的例子,看注释应该清晰多了吧php codestudywx(); } 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());//给他个破洋枪