多态性的一般定义为:同一个操作作用于不同的类的实例,将产生不同的执行结果。也即不同类的对象收到相同的消息时,将得到不同的结果。在实际的应用开发中,采用面向对象中的多态主要在于可以将不同的子类对象都当作一个父类来处理,并且可以屏蔽不同子类对象之间所存在的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
<?php
/*多态是指OOP能够根据使用的类的上下文来重新定义或者改变类的性质或行为,或者说接口的多种不同的实现方法即为多态, 把不同的子类对象都当做 父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码。 * * */ //同一个接口实现不同的方法 interface Computer{ public function start(); public function end(); } class NoteComputer implements Computer{ public function start(){ echo "联想笔记本开机。。。"; } public function end(){ echo "联想笔记本关机咯。。。"; } } class DesktopComputer implements Computer{ public function start(){ echo "戴尔笔记本开机中。。。"; } public function end(){ echo "戴尔笔记本关机中。。。"; } } class person{ public function run($type){ $type->start(); $type->end(); } } $noteComputer=new NoteComputer(); $desktopComputer=new DesktopComputer(); $person1=new person(); $person1->run($noteComputer); $person1->run($desktopComputer);帮助理解
链接:http://blog.csdn.net/zalion/article/details/6367429