继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

一个php多态性的小例子

烙印99
关注TA
已关注
手记 352
粉丝 92
获赞 446

多态性在 OO 中指 “语言具有以不同方式处理不同类型对象的能力”,但 PHP 是弱类型语言,在这一点上就比较弱,仅有 instance of 可以用于判断对象的类型


多态性的优点:让代码更接近生活中的真实情况


一下是一个非常简单的多态性例子,描述在电脑上安装不同操作系统,linux, OS X, windows 和 computer 是两种不同类型的对象。


interface os{
 
    function name();
    function creator();
}
 
class linux implements os{
 
    function name(){
        echo "Linux";
    }
    function creator(){
        echo " (created by Linus Torvalds)";
    }
}
 
class windows implements os{
 
    function name(){
        echo "Windows";
    }
    function creator(){
        echo " (created by Microsoft)";
    }
}
 
class osx implements os{
 
    function name(){
        echo "OSX";
    }
    function creator(){
        echo " (created by Apple)";
    }
}
 
 
class computer{
 
    function installOS($os){
        if ($os instanceof os){
            echo "Installing ";
            echo $os->name();
            echo $os->creator()."<br>";
       }else{
             echo "not a system";
       }
    }
}
 
 
$myComputer = new computer;
 
$myLinux = new linux;
$myWindows = new windows;
$myOSX = new osx;
 
 
$myComputer->installOS($myLinux);
$myComputer->installOS($myWindows);
$myComputer->installOS($myOSX);


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP