【发布时间】:2019-02-24 10:08:01
【问题描述】:
以下代码不会生成名称为 Jock 的输出。我怀疑是因为在classAnimal 中$name 是private,但构造是public,所以子类应该不能从构造中获取$name。我不想让$namepublic。
class Animal{
private $name;
public function __construct($name) {
$this->name = $name;
}
public function Greet(){
echo "Hello, I'm some sort of animal and my name is ", $this->name ;
}
}
class Dog extends Animal{
private $type;
public function __construct($name,$type) {
$this->type = $type;
parent::__construct($name);
}
public function Greet(){
echo "Hello, I'm a ", $this->type, " and my name is ", $this->name;
}
}
$dog2 = new Dog('Jock','dog');
$dog2->Greet();
【问题讨论】:
-
PHP/ 或许将其标记为 PHP