php parrent :: __ construct и oop

эй, я довольно новичок в работе, и во время обучения я столкнулся с проблемой, которая мучает меня более 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();
?>

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

-2

Решение

Просто небольшая ошибка — неправильное написание __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();
?>

Надеюсь, это поможет вам

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]