关于多态的问题

关于多态的问题

老师没有详细讲解什么是多态呀,希望老师详细解释一下,最好能有个例子。麻烦老师了

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、多态在面向对象1-7小节中老师有一些讲解的,同学可以参考https://class.imooc.com/lesson/227#mid=6745 (2.50分)

2、什么是多态?

    一个类,被多个子类继承,如果这个类的某个方法,在多个子类中,表现出不同的功能,我们称这种行为为多态。(同一个类的不同子类表现出不同的形态)

3、那么我们如何来实现多态呢?

    子类继承父类 ->子类重写父类方法 ->父类引用指向子类对象。代码如下:

/**
 * PHP多态性
 */
  
// 定义一个公共类
class pub{
    protected function working(){
        echo "本方法需要在子类中重载!";
    }
}
  
// 定义学生类,继承公共类pub
class student 
extends
 pub{
    public function working(){
        echo "学生工正在上课!<br />";
    }
}
  
// 定义职员类,继承公共类pub
class office extends pub{
        public function working(){
        echo "职员正在上班!<br />";
        }
}
  
// 判断对象类型方法
function doing($obj){ 
        if($obj instanceof pub){ 
            $obj->working();
        }else{
            echo "没有这个对象!";
        }
}
  
doing(new student()); // 学生正在上课
doing(new office());  // 职员正在上班

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师