问答详情
源自:4-4 Final关键字-PHP面向对象编程

PHP重载,对父类进行重新定义

class Car1 {
    public  function A1() {
       echo "方法1"
    public function A2() {
        echo "方法2";
    }

class Car2 extends Car() {

    public function A1() {

     echo "方法1被重定义";

}

$x new Car2;

$x->A1();

这时候调用子类的A1会输出方法1被重写,如果直接调用父类的A1会怎么样?

提问者:SAGEGSDAGESE 2016-04-24 11:00

个回答

  • Dooear
    2017-02-07 11:46:16

    <?php 
        class Car1 {
            public function A1(){
                echo "方法1";
            }
            public function A2(){
                echo "方法2";
            }
        }
        // 继承类
        class Car2 extends Car1{
            public function A1(){
                echo "方法1被重定义";
            }
        }
        // 实例化
        $x = new Car2();
        $x->A1();
        // 纯PHP代码不建议添加结束标记

    回答:会输出“方法1”;如果想继承父类,可以添加final关键字禁止重载。

  • 驿路梨花开
    2016-07-14 15:27:09

    代码是应该写好一点吧 至少自己执行以下看看有没有错 你的代码总共5出错误

  • 两点前我不会睡觉
    2016-05-09 01:26:20

    调用父类的A1会输出"方法1"


    然后我要告诉你的是,在你问问题的时候,能不能把代码写写对啊,后面的那个问题也是,代码乱七八糟的,都是错的,让人家怎么帮你解决问题,你这个代码里这么几句话就有三处错误

  • SAGEGSDAGESE
    2016-04-24 11:03:35

    是继承Car1 上面少写个1