多态,字面意思,就是多种形态
比如:一种红酒,由不同的人来品尝,会有不同的感觉,这叫做多态;
一个人用不同的方式来喝酒,也会有不同的后果,这也叫做多态。
多态的原理:类都写好了,不要去修改它,只是在类外调用时更改参数,从而实现不同的结果(多态)
//举例:创建一个电脑的接口 interface Computer { public function version(); public function work(); } //创建一个笔记本的子类实现接口 class Notecomputer implements Computer { public function version() { echo ‘笔记本‘; } public function work() { echo ‘可以运行Win7‘; } } //创建一个台式机的子类实现接口 class Desktopcomputer implements Computer { public function version() { echo ‘台式机‘; } public function work() { echo ‘可以运行XP‘; } } //创建一个人的类 class Person { public function doing($type) { echo ‘这个人的‘; $type->version(); $type->work(); } } $notecomputer = new Notecomputer(); $desktopcomputer = new Desktopcomputer(); $demo = new Person(); $demo->doing($desktopcomputer);//输出这个人的台式机可以运行XP
abstract class Computer { abstract public function version(); abstract public function work(); } class Notebook extends Computer { public function version() { echo ‘笔记本‘; } public function work() { echo ‘在运行Win7‘; } } class Desktopcomputer extends Computer { public function version() { echo ‘台式机‘; } public function work() { echo ‘在运行XP‘; } } class Person { public function _run($type) { echo ‘这个人的‘; $type->version(); $type->work(); } } $nc = new Notebook(); $dc = new Desktopcomputer(); $p = new Person(); $p->_run($dc);
原文:http://www.cnblogs.com/Itwonderful/p/5674708.html