欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

帮忙看上这段代码,为何没输出

程序员文章站 2022-06-07 09:20:02
...
帮忙看下这段代码,为何没输出
/*父类*/
class MyObject{
public $object_name;
public $object_price;
public $object_num;
public $object_agio;
function __construct($name,$price,$num,$agio){
$this->object_name=$name;
$this->object_price=$price;
$this->object_num=$num;
$this->object_agio=$agio;
}
function showMe(){
//echo'这句话不会显示。';
}
}
/*子类Book*/
class Book extends MyObject{
public $book_type;
function __construct($type,$num){
$this->book_type=$type;
$this->object_num=$num;
}
function _showMe(){
return'本次新进'.$this->book_type.'图书'.$this->object_num.'本
';
}
}
/*子类Elec*/
class Elec extends MyObject{
function showMe(){
return'热卖图书:'.$this->object_name.'
原价:'.$this->object_price.'
特价:'.$this->object_price*$this->object_agio;
}
}
/*实例化对象*/
$c_book=new Book('计算机类',1000);
$h_elec=new Elec('PHP函数参考大全',98,3,0.8);
echo $c_book->showMe()."
";
//echo $h_elec->showMe();
能输出的语句已经注释,没注释的那句echo $c_book->showMe()."
";
为何没有输出。还有就是‘这句话不会显示’不注释时为何还会输出?多谢!
------解决方案--------------------
Book::_showMe() 方法的确可以输出,但你调用的是 showMe() ,这个方法是继承自MyObject得来的,而你又注释掉了echo ,当然没有任何输出。
------解决方案--------------------
引用:
Book::_showMe() 方法的确可以输出,但你调用的是 showMe() ,这个方法是继承自MyObject得来的,而你又注释掉了echo ,当然没有任何输出。


原来如此帮忙看上这段代码,为何没输出
------解决方案--------------------
class MyObject{
function showMe(){
//这里没有定义输出,所以 showMe 不会有输出
//echo'这句话不会显示。';
}
}
class Book extends MyObject{ //并没有重载showMe,所以showMe没有输出
function _showMe(){
return'本次新进'.$this->book_type.'图书'.$this->object_num.'本
';
}
}
class Elec extends MyObject{//重载了showMe,所以showMe有输出
function showMe(){
return'热卖图书:'.$this->object_name.'
原价:'.$this->object_price.'
特价:'.$this->object_price*$this->object_agio;
}
}
帮忙看上这段代码,为何没输出

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频