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_Object - Fatal编程技术网

Php 未返回字符串

Php 未返回字符串,php,oop,object,Php,Oop,Object,我试图访问父类以将信息从它传递给它的子类,然后将该信息回显到页面,但我似乎无法让$flavor从我创建的Soda类中回显出来。在屏幕上发出回声的是产品名称:太空果汁苏打口味:-显然我的\u结构(我想)在苏打类中出了问题,但无法找出原因 class Product { public $name = 'default_name'; public $price = 0; public $desc = "default description"; function __construct($name

我试图访问父类以将信息从它传递给它的子类,然后将该信息回显到页面,但我似乎无法让
$flavor
从我创建的
Soda
类中回显出来。在屏幕上发出回声的是<代码>产品名称:太空果汁苏打口味:-显然我的
\u结构(我想)在
苏打
类中出了问题,但无法找出原因

class Product {

public $name = 'default_name';
public $price = 0;
public $desc = "default description";

function __construct($name, $price, $desc) {
    $this->name = $name;
    $this->price = $price;
    $this->desc = $desc;
}

public function getInfo() {
    return "Product Name: " . $this->name;
}
}

class Soda extends Product {

public $flavor;

function __construct($name, $price, $desc, $flavor) {
    parent::__construct($name, $price, $desc);
}

public function getInfo() {
    return "Product Name: " . $this->name . " Flavor: " . $this->flavor;
}
}

$shirt = new Product("Space Juice T-Shirt", 20, "Awesome Grey T-Shirt");
$soda = new Soda("Space Juice Soda", 2, "Thirst mutilator", "Grape");

echo $soda->getInfo();

您没有在Soda类中初始化
flavor

class Soda extends Product {

       public $flavor;

       function __construct($name, $price, $desc, $flavor) {
           parent::__construct($name, $price, $desc);
           $this->flavor = $flavor; // add this line here <<<<<<<<<<<<<
       }
       ...
类产品{
公众口味;
函数构造($name、$price、$desc、$flavor){
父项::_构造($name,$price,$desc);

$this->flavor=$flavor;//在这里添加这一行在构造函数中分配
$flavor

function __construct($name, $price, $desc, $flavor) {
    parent::__construct($name, $price, $desc);
    $this->flavor = $flavor;
}