为了账号安全,请及时绑定邮箱和手机立即绑定

致命错误: 调用未定义的方法 ShopProduct编写器::获取生产者()

致命错误: 调用未定义的方法 ShopProduct编写器::获取生产者()

PHP
皈依舞 2022-09-12 09:18:00
我遇到了一个问题:致命错误: 调用未定义的方法 ShopProductWriter::getProducer() 在 C:\OSPanel\域\zandstra.com\索引.php第 37 行是什么原因造成的?<?phpclass ShopProduct {    public $title;    public $producerSurName;    public $producerFirstName;    public $price = 0;    public function __construct (        $title,        $firstName,        $surName,        $price    )    {        $this->title = $title;        $this->producerFirstName = $firstName;        $this->producerSurName = $surName;        $this->price = $price;    }    public function getProducer () {        return $this->producerFirstName . " " . $this->producerSurName;    }}$product1 = new ShopProduct (    "My Antonia",    "Willa",    "Cather",    "5.99");class ShopProductWriter {    public function write ($shopProduct){        $str=$shopProduct->title . ":" . $shopProduct->getProducer()            . " (".$shopProduct->price.")\n";        print $str;    }}$product1 = new ShopProductWriter("My Antonia", "Willa", "Cather", 5.99);$writer = new ShopProductWriter();$writer->write($product1);
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

这里


$product1 = new ShopProductWriter("My Antonia", "Willa", "Cather", 5.99);

你重新创建了 ,直到那时是一个.由此,是一个对象。这没有方法,它只有一种方法。这是你代码中的一个拼写错误,我认为你已经多次重写了你的代码,一些旧的初始化离开了,你应该已经离开了。在这种形式下,可能做你想要的:$product1ShopProduct$product1ShopProductWritergetProducer()write()


<?php


class ShopProduct {

    public $title;

    public $producerSurName;

    public $producerFirstName;

    public $price = 0;


    public function __construct (

        $title,

        $firstName,

        $surName,

        $price

    )


    {

        $this->title = $title;

        $this->producerFirstName = $firstName;

        $this->producerSurName = $surName;

        $this->price = $price;

    }


    public function getProducer () {

        return $this->producerFirstName . " " . $this->producerSurName;

    }

}


class ShopProductWriter {

    public function write ($shopProduct){

        $str=$shopProduct->title . ":" . $shopProduct->getProducer()

            . " (".$shopProduct->price.")\n";

        print $str;

    }

}

$product1 = new ShopProduct("My Antonia", "Willa", "Cather", 5.99);

$writer = new ShopProductWriter();

$writer->write($product1);


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号