我想知道这样的组合是否可能。从类A调用类B并继承类A的属性?
classA.php
class A
{
public $one = "one";
function start() {
$this->one = "seven";
include "classB.php";
$two = new B;
print_r(get_defined_vars());
}
}
classB.php
class B extends A
{
public $two = "two";
function __construct() {
echo($this->one);
}
}
最后的index.php
include "classA.php";
$A = new A;
$A->start();
当我运行的index.php,我得到如下:
Array
(
[one] => seven
[B] => B Object
(
[two] => two
[one] => one
)
)
有没有办法让B类使用更新的变量?或者我必须将代码分成两个文件并单独使用?这样它至少工作...但我不喜欢我的代码在课堂以外,我尽量减少使用全球范围...
BTW:我知道__construct()的,我写的代码不__construct使__construct()根本不会被调用。 – 2014-09-23 22:51:54
你真的应该多读一点关于继承的实际工作....如果B类扩展了A类,那么你应该实例化B类......但是不能通过包含类B中的类B嵌入代码....那根本不是遗传 – 2014-09-23 22:53:12
你想达到什么目的? – sectus 2014-09-23 22:53:16