PHP5面向对象在实际应用中仍然会有些问题难以理解,比如构造函数的执行问题,PHP到底是依据什么执行的,还有一些莫名其妙的报错原因。
大家也许对PHP5面向对象已经不再陌生,虽然对一些问题的反映虽然加强了很多,但还有很多东西比起java的面向对象弱了很多。有些东西甚至让人费解,就比如下面的PHP5面向对象代码,b extends a ,实例化b时a的构造函数却没执行?不知道实例化b时,PHP到底是怎么执行的,高手来帮忙解惑!还有PHP的static成员竟然能在非static方法中使用,还好反过来会报错。
#t#好了,先将代码贴出来
- classa{
- function__construct(){
- echo"a";
- }
- }
- classbextendsa{
- function__construct(){
- echo"b";
- }
- private$x=100;
- publicstaticfunctiongetx(){
- return$this->x;
- }
- }
- $x=newb();
- echo$x->getx();
结果是:
b100
“a”竟然没有输出,真不知到PHP5面向对象里类初始化的顺序。
转载请说明出处
知优网 » PHP5面向对象的一些问题反映(php面向对象的理解)
知优网 » PHP5面向对象的一些问题反映(php面向对象的理解)