ホームページ >バックエンド開発 >PHPチュートリアル >このコードを見つけるのを手伝ってください。出力がないのはなぜですか?

このコードを見つけるのを手伝ってください。出力がないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-13 13:01:24808ブラウズ

このコードを見て助けてください。なぜ出力がないのですか
/*親クラス*/
クラス MyObject{
パブリック $object_name;
パブリック $object_price;
パブリック $object_num;
パブリック $object_agio;
関数 __construct($name,$price,$num,$agio){
$this->object_name=$name;
$this->gt;object_price=$price;
$this->object_num=$num;
$this->object_agio=$agio
}
関数 showMe(){
//echo'は表示されません。 ';
}
}
/*サブクラスブック*/
class Book extends MyObject{
public $book_type;
関数 __construct($type,$num){
$this->book_type=$type;
$this->object_num=$num;
}
関数 _showMe(){
Return'この新しいエントリ'.$this->book_type.'Book'.$this->object_num.'this
';
}
}
/*サブクラス Elec*/
class Elec extends MyObject{
関数 showMe(){
return'売れ筋の書籍:'.$this->object_name.'
元の価格:'.$this->object_price.'
特別価格:'.$this->object_price*$ this-> ;object_agio;
}
}
/*インスタンス化されたオブジェクト*/
$c_book=新しい本('コンピュータ',1000); $h_elec=new Elec('PHP 関数リファレンス集',98,3,0.8);
echo $c_book->showMe()."
";
//エコー $h_elec->showMe(); 出力できる文はコメント化されており、コメント化されていない文は echo $c_book->showMe()."
";
出力がないのはなぜですか。また、コメントがないのに「この文章は表示されません」が出力されるのはなぜですか?ありがとう!

------解決策----------------------
Book::_showMe() メソッドは確かに出力できます。ただし、showMe() を呼び出しています。このメソッドは MyObject から継承されており、echo をコメントアウトしています。もちろん、出力はありません。
------解決策---------

引用:

Book::_showMe() メソッドは確かに出力できますが、MyObject から継承された showMe() を呼び出しており、echo をコメントアウトしているため、当然出力はありません。
以上です

-----解決策---------
class MyObject{ 関数 showMe(){
//ここでは出力が定義されていないため、showMe には出力がありません
//echo'は表示されません。 ';
}
}
class Book extends MyObject{ //showMe はオーバーロードされていないため、showMe には出力がありません
関数 _showMe(){
Return'この新しいエントリ'.$this->book_type.'Book'.$this->object_num.'this
';
}
}
class Elec は MyObject を拡張します。{//オーバーロードされた showMe なので、showMe は出力
になります。 関数 showMe(){
return'売れ筋の本:'.$this->object_name.'
元の価格:'.$this->object_price.'
特別価格:'.$this->object_price*$ this-> ;object_agio;
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。