日期:2014-05-16  浏览次数:20405 次

PHP类继承,有关构造函数
header("Content-Type:text/html;charset=utf-8");

class Class1 extends Class2{
    public static $a = 'Class1';
}
class Class2 extends Class3{
    public static $a = 'Class2';
    public function __construct(){
        echo 'Class2';
    }
}
class Class3{
    public static $a = 'Class3';
    public function __construct(){
        echo 'Class3';
    }
}

$obj = new Class1();


为什么这段代码出错

这里面构造函数是运行两个还是一个
------解决方案--------------------
晕。顺序错了。
<?php

header("Content-Type:text/html;charset=utf-8");

class Class3 {

    public static $a = 'Class3';

    public function __construct() {
        echo 'Class3';
    }

}

class Class2 extends Class3 {

    public static $a = 'Class2';

    public function __construct() {
        echo 'Class2';
    }

}

class Class1 extends Class2 {

    public static $a = 'Class1';

}

$obj = new Class1();