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`
1 に答える
0
$a がメッセージ クラスを構築する場合、$body は NULL になるため、何も設定されず、__construct() は起動されず (存在しません)、$body が何かに設定されます。
1 本体を何かに設定します。それ以外の場合は常に 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
3 メッセージ クラスの本文をクラス定義の空の文字列に設定する
protected $body = ""; // or whatever u want
getBody() を使用してクラスを構築した後、val を返します。
于 2014-11-12T18:25:09.053 に答える