考虑下面的代码:
<?php
class Base {
protected $name = "Base";
public function getName() {
return $this->name;
}
}
class Foo extends Base {
protected $name = "Foo";
}
$f = new Foo();
echo $f->getName(); // output: Foo
$b = new Base();
echo $b->getName(); // output: Base
由于在其他语言(例如 Java)中不允许您覆盖实例变量,但在 PHP 中是可能的。
是不是因为 PHP 是弱类型语言所以有可能?