-2

ねえ、私は 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();
?>

出力は製品名:jemala フレーバーのデフォルト フレーバーです。

4

1 に答える 1

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();
?>

これがお役に立てば幸いです

于 2015-02-08T16:51:38.983 に答える