2015-02-08 2 views
-2

эй я довольно новичок в oop и во время обучения у меня есть проблема, которая мучает меня более 2 часов.php parrent :: __ construct and oop

не могли бы вы рассказать мне, почему this-> flavor не получают "grape" значение?

<?php 
class Product{ 
    public $name = "default-name"; 
    public $price = 50; 
    public $desc = "default_description"; 

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

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

class Soda extends Product { 
    public $flavor="default flavor"; 

    function __consturct($jemali, $zviadi, $chuuch, $lavor){ 

     parent::__construct($jemali, $zviadi, $chuuch); 
     $this->flavor=$lavor; 
    } 

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

//$shirt = new Product("miriani", 10, "magari"); 
$soda = new Soda("jemala", 12, "chuchuka", "grape"); 
//echo $shirt->getInfo(); 
echo "<br />"; 
echo $soda->getInfo(); 
?> 

выход название продукта: Jemala вкус по умолчанию вкус

+3

Проверьте правописание. '__consturct' - это не то же самое, что' __construct'. – DCoder

ответ

1

Просто небольшая ошибка - неверная орфография __construct. Используйте приведенные ниже код

<?php 
class Product{ 
    public $name = "default-name"; 
    public $price = 50; 
    public $desc = "default_description"; 

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

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

class Soda extends Product { 
    public $flavor="default flavor"; 

    function __construct($jemali, $zviadi, $chuuch, $lavor){ 

     parent::__construct($jemali, $zviadi, $chuuch); 
     $this->flavor=$lavor; 
    } 

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

//$shirt = new Product("miriani", 10, "magari"); 
$soda = new Soda("jemala", 12, "chuchuka", "grape"); 
//echo $shirt->getInfo(); 
echo "<br />"; 
echo $soda->getInfo(); 
?> 

Надеется, что это помогает вам