当前位置:Gxlcms > PHP教程 > php的学习笔记之面向对象(四)继承补充

php的学习笔记之面向对象(四)继承补充

时间:2021-07-01 10:21:17 帮助过:6人阅读

之前说到每次新建一个对象,都会先执行__construct方法,那么在继承的时候,是否先执行父类的_construct方法,再执行子类__construct方法呢?
我们来做一个实验:

classFather{publicfunction__construct(){echo"father has constructed";
    }
}
classChild{publicfunction__construct(){echo"child has constructed";
    }
}
$c = new Child();

输出结果如下:
child has constructed
说明在创建子类的时没有调用父类的__construct方法,这是为什么呢,原来这是用到php中的重写(overwrite)这样的机制,子类的构造函数实际上是覆盖(override)了父类的构造函数,这时执行的是该子类的构造函数。
那么如果子类不写__construct方法会发生什么事呢?我们来实验一下:

classFather{publicfunction__construct(){echo"father has constructed";
    }
}
classChild{publicfunctionshow(){echo"dd";
    }
}
$c = new Child();
$c->show();

输出结果为:dd

;

输出结果为:dd
说明父类的__construct()没有被继承。

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了php的学习笔记之面向对象(四)继承补充,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行