Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php继承:子类继承父类中的数据?_Php_Oop_Inheritance_Php 5.4 - Fatal编程技术网

php继承:子类继承父类中的数据?

php继承:子类继承父类中的数据?,php,oop,inheritance,php-5.4,Php,Oop,Inheritance,Php 5.4,有时我迷路了,开始怀疑我用php编写类是否正确 比如说,这些都是非常基本和简单的类 class base { protected $connection = null; /** * Set the contructor for receiving data. */ public function __construct($connection) { $this->connection = $connection;

有时我迷路了,开始怀疑我用php编写类是否正确

比如说,这些都是非常基本和简单的类

class base {

    protected $connection = null;

    /**
     * Set the contructor for receiving data.
     */
    public function __construct($connection)
    {
        $this->connection = $connection;

    }

    public function method()
    {
        print_r(get_object_vars($this));
    }

}

class child extends base{

    public function __construct(){
    }

    public function method()
    {
        print_r(get_object_vars($this));
    }
}
我将
子类
基扩展而来。我将一些数据/信息传递到
base
类中。我希望
子类继承我刚才传递的数据/信息。比如说,

$base = new base("hello");

$child = new child(); 
$child->method(); 
所以我假设我得到
数组([connection]=>hello)
作为我的答案

但是我得到了这个数组([connection]=>)

这意味着我每次都必须将这段数据传递到子类中,该类从基础扩展而来。否则我就不会得到
数组([connection]=>hello)
作为我的答案


有没有正确的方法来编写子类来继承从父类传递的数据?

似乎您在某种程度上混淆了模板(类)和对象(类的实例)

  • 用一些给定的初始值实例化类
    base
    的一个对象对类
    child
    的其他对象有什么影响? 类
    子类的实例将不会动态“继承”类
    基类的实例的某些属性

  • 如果您想从
    基本
    构造
    方法初始化一些受保护的属性,并且如果您想从
    子类
    方法初始化这些属性,而不必重新编写
    构造
    方法,然后,您不能覆盖您的
    子类的
    构造方法


为什么不在构造函数中分配“hello”,例如,然后设置所有内容……这两个实例化的类之间没有连接,因此子类可以继承“hellp”对不起,我不明白。你能给我举个例子吗?谢谢。别理它。我现在明白了。我的问题是数据必须从外部传递。无法在父类中设置。感谢您的回复。如何
不覆盖子类的u构造方法。