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);
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报