PHP5面向对象在实际应用中仍然会有些问题难以理解,比如构造函数的执行问题,PHP到底是依据什么执行的,还有一些莫名其妙的报错原因。

大家也许对PHP5面向对象已经不再陌生,虽然对一些问题的反映虽然加强了很多,但还有很多东西比起java的面向对象弱了很多。有些东西甚至让人费解,就比如下面的PHP5面向对象代码,b extends a ,实例化b时a的构造函数却没执行?不知道实例化b时,PHP到底是怎么执行的,高手来帮忙解惑!还有PHP的static成员竟然能在非static方法中使用,还好反过来会报错。

PHP5面向对象的一些问题反映(php面向对象的理解)  PHP5面向对象 第1张

#t#好了,先将代码贴出来

  1. classa{
  2. function__construct(){
  3. echo"a";
  4. }
  5. }
  6. classbextendsa{
  7. function__construct(){
  8. echo"b";
  9. }
  10. private$x=100;
  11. publicstaticfunctiongetx(){
  12. return$this->x;
  13. }
  14. }
  15. $x=newb();
  16. echo$x->getx();

结果是:

b100

“a”竟然没有输出,真不知到PHP5面向对象里类初始化的顺序。

转载请说明出处
知优网 » PHP5面向对象的一些问题反映(php面向对象的理解)

发表评论

您需要后才能发表评论