php设计模式

Lesson 1 多态

<?php /** * Lesson 1 多态 */ class Human{ public function speak(){ echo "human can speak!"; } } class American extends Human{ public function speak(){ echo "speak engilsh!"; } } class Chinese extends Human{ public function speak(){ echo "speak Chinese!"; } } class client{ //php在传入参数的时候只要不制定类型,能够接收任何参数 //java则不行,java传入数据的时候必须指定数据类型, //传入类的时候必须指定传入什么对类 public static function call($input){ $input->speak(); } public static function say(Human $input){ $input->speak(); } } client::call(new Human()); //human can speak! client::call(new Chinese()); //speak Chinese! client::call(new American());//speak engilsh! class Cat{ public function speak(){ echo "Cat speak!"; } } client::call(new Cat()); //Cat speak! //总结:多态在php7如下其实没有什么卵用,传递参数的时候不要指定类型 //你传什么鬼都行 //在php7中若是指定了数据类型则不行