PHP面向对象学习六 多态

  OOP的模式并不仅仅是把很多函数和功能集合起来,目的而是使用类,继承,多态的方式描述我们生活中的一种情况。从而使得我们的代码更具有的意义。帮助我们减少一些重复性的代码和条件语句的判断。
 
运算符instanceof
PHP 一个类型运算符。instanceof 用来测定一个给定的对象是否来自指定的对象类。
class A { }
class B { }

$thing = new A;

if ($thing instanceof A) {
    echo 'A';
}
if ($thing instanceof B) {
    echo 'B';
}
<?php
//多态
interface myusb{//定义接口
function type();
function alert();
}

class usb implements myusb{
function type(){
echo "这是USB设备--";
}
function alert(){
echo "正在使用USB存储。<br/>";
}
}

class mp3 implements myusb{
function type(){
echo "这是mp3设备--";
}
function alert(){
echo "正在使用mp3播放音乐。<br/>";
}
}

class mob implements myusb{
function type(){
echo "这是手机设备--";
}
function alert(){
echo "正在通过USB接口给手机充电。<br/>";
}
}

    class mypc{
    function pcusb($what){
    $what->type()."<br/>";//注意不要写成$this->type(),对应上面()中的$what
    $what->alert();
    }
    }
$obj=new mypc();
$usb=new  usb();
$mp3 = new mp3();
$obj->pcusb($usb);
$obj->pcusb($mp3);
$obj->pcusb(new mob());
?>

 

posted @ 2014-03-23 14:08  虚幻的街景  阅读(194)  评论(0编辑  收藏  举报