>????
你可以赋值,相当于默认。如果之后给构造函数传参设定,那就相当于修改默认值。你也可以不在定义类的时候设置值。也可以不在构造函数设定,在外面修改都可以。
看清楚你第七行是什么,应该是$food,不是$fond
一个孩子只能有一个父亲,但一个父亲可以有多个孩子啊0.0
你new错了,要new Player类
<?php
class Human{
public $name;
public $height;
public $weight;
public function eat($food){
echo $this->name."'s eating ".$food."\n";
}
}
class Player extends Human{
function __construct($name,$height,$weight){
$this->name=$name;
$this->height=$height;
$this->weight=$weight;
}
}
$jor = new Player("jor","198cm","75kg");
echo $jor->name."\n";
$jor->eat("orange");
?>
因为在类的外面使用$this来代表某对象,PHP无法知道你要代表哪个对象.
date_default_timezone_set("PRC");
少个分号!
因为你的构造函数什么都没做,只是输出了"构造函数调用成功" ,你只是定义了 name 属性,你在构造函数中加上一句
$this->name = $name;
在NbaPlayer里面没有eat()这个方法,所以无法调用!
解决方案:
> 要么你继承Human父类的eat()方法;
> 要么你在NbaPlayer里添加一个eat()方法;