/*
* 多态特性
* 1.程序扩展准备
* 必须有继承关系,父类最好是接口或抽象类
*/
//定义接口
interface USB{
const WIDTH = 12;
const HEIGHT = 3;
function load();
function run();
function stop();
}
//定义电脑类
class Computer{
function useUSB(USB $usb){
$usb->load();
$usb->run();
$usb->stop();
}
}
//定义鼠标类 实现USB接口
class Mouse implements USB{
function load(){
echo '加载鼠标成功!<br/>';
}
function run(){
echo '运行鼠标功能!<br/>';
}
function stop(){
echo '鼠标工作结束!<br/>';
}
}
//定义键盘类 实现USB接口
class KeyBoard implements USB{
function load(){
echo '加载键盘成功!<br/>';
}
function run(){
echo '运行键盘功能!<br/>';
}
function stop(){
echo '键盘工作结束!<br/>';
}
}
//定义工作者类
class Worker{
function useC(){
$c = new Computer();
$m = new Mouse();
$k = new KeyBoard();
//调用电脑类中的方法 传入鼠标对象参数
$c->useUSB($m);
//调用电脑类中的方法 传入键盘对象参数
$c->useUSB($k);
}
}
$w = new Worker();
$w->useC();