Rumah >pembangunan bahagian belakang >tutorial php >php父类实例化一个对象,在子类中还能使用这个对象吗
三个类,a,b,c。在a中实例化c,b继承a。那么在b中怎么才能使用c的实例化对象。
a.php
<code>require_once './c.php'; class a { public $c; public $test; public function __construct() { $this->test = "10"; $this->c1 = new c(); } }</code>
b.php
<code>require_once './a.php'; class b extends a { function b1() { echo $this->test; $this->c->c1(); } } $b = new b(); $b->b1(); </code>
c.php
<code>class c { public function c1() { echo "this is c1 method"; } }</code>
执行b.php的结果:
三个类,a,b,c。在a中实例化c,b继承a。那么在b中怎么才能使用c的实例化对象。
a.php
<code>require_once './c.php'; class a { public $c; public $test; public function __construct() { $this->test = "10"; $this->c1 = new c(); } }</code>
b.php
<code>require_once './a.php'; class b extends a { function b1() { echo $this->test; $this->c->c1(); } } $b = new b(); $b->b1(); </code>
c.php
<code>class c { public function c1() { echo "this is c1 method"; } }</code>
执行b.php的结果:
`
<code>public function __construct() { $this->test = "10"; $this->c1 = new c(); }</code>
`
你声明 a 类的时候,哪来的 c1变量
改成
`
<code>public function __construct() { $this->test = "10"; $this->c = new c(); }</code>
`
就可以了
你没发现a.php中 $this->c1 = new c();写的是c1么
但是b.php中调用的属性是$this->c