Home >Backend Development >PHP Tutorial >php父类实例化一个对象,在子类中还能使用这个对象吗

php父类实例化一个对象,在子类中还能使用这个对象吗

WBOY
WBOYOriginal
2016-06-06 20:21:141223browse

三个类,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的结果:
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的结果:
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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn