PHP多态

猫斯基 28 2014-01-28

多态特性

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 '加载鼠标成功
';} function run(){ echo '运行鼠标
';} function stop(){ echo '鼠标工作结束
';} } class KeyPress implements USB { function load(){ echo '加载键盘成功
';} function run(){ echo '运行键盘
';} function stop(){ echo '键盘工作结束
';} } 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://www.maosiji.com/2570.html