эй, я довольно новичок в работе, и во время обучения я столкнулся с проблемой, которая мучает меня более 2 часов.
не могли бы вы сказать мне, почему 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();
?>
На выходе получается название продукта: аромат по умолчанию
Просто небольшая ошибка — неправильное написание __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();
?>
Надеюсь, это поможет вам
Других решений пока нет …