PHP多态

作者猫斯基 2014-01-28 85 人读过

最新文章

多态特性

PHP中的多态必须有继承关系,父类最好是接口或抽象类。

interface USB {
	const WIDTH = 12;
	const HEIGHT = 3;
	function load();
	function run();
	function stop();
}
class PC {
	// 参数只能传USB类型的
	function useUSB( USB $usb ) {
		$usb->load();
		$usb->run();
		$usb->stop();
	}
}
class Mouse implements USB {
	function load(){ echo '加载鼠标成功<br />';}
	function run(){ echo '运行鼠标<br />';}
	function stop(){ echo '鼠标工作结束<br />';}
}
class KeyPress implements  USB {
	function load(){ echo '加载键盘成功<br />';}
	function run(){ echo '运行键盘<br />';}
	function stop(){ echo '键盘工作结束<br />';}
}
class Worker {
	function work() {
		$pc = new PC();
		$m = new Mouse;
		$k = new KeyPress;
		$pc->useUSB( $m );
		$pc->useUSB( $k );
	}
}
$v = new Worker;
$v->work();
/*
打印结果:
加载鼠标成功
运行鼠标
鼠标工作结束
加载键盘成功
运行键盘
键盘工作结束
*/

本文由 猫斯基 原创发布。

著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://maosiji.com/php/php-25.html