class Message {
protected $body;
public function setBody($body)
{
$this->body = $body;
}
public function getBody()
{
return $this->body;
}
}
class ExtendedMessage extends Message {
private $some;
public function __construct($somedata)
{
$this->some = $somedata;
}
public function getBody()
{
return $this->some;
}
}
$a = new Message;
$b = new ExtendedMessage('text');
$a->getBody(); // NULL`
$b->getBody(); // text`
答案 0 :(得分:0)
如果$ a构造了消息类,则$ body为NULL,因为没有设置任何内容,并且没有__construct()触发(不存在)并将$ body设置为某些内容。
1将body设置为,否则它将始终为NULL
$a = new Message;
$a->setBody("my text here");
$a->getBody(); // returns "my text here"
2将构造函数添加到邮件类
class Message {
protected $body;
public function __construct($a="") {
$this->body = $a;
}
// ur code as shown
}
而不是
$a = new Message("my text");
$a->getBody(); // returns "my text"
$b = new Message;
$b->getBody(); // returns "" - emtpy string
在类def
中将消息类中的body设置为空字符串protected $body = ""; // or whatever u want
它将使用getBody()
返回类构造之后的val