您的位置:首页 > 编程语言 > PHP开发

对php面向对象多态性认识

2012-03-30 00:00 633 查看
为了提高面向对象的代码可扩展性,在实际开发中要减少逻辑判断语句的应用,多态性的强大就在此处。

<?php
class Animal{
    function makeSound(){
    }
}
class Cat extends Animal{
    function makeSound(){
        print "喵喵";
    }
}
class Dog extends Animal{
    function makeSound(){
        print "汪汪";
    }
}
function printTheSound($obj){
    if ($obj instanceOf Animal){
        $obj->makeSound();
    }else{
        print "传递错误!";
    }
}
printTheSound(new Cat());
printTheSound(new Dog())
?>


运行结果如下:
喵喵
汪汪
从上可以看出:无论添加多少动物,只需要用extends申明一下,然后调用printTheSound()函数就行了。
值得一提的是,php不支持多重类的继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: