Почему можно переопределить переменные экземпляра в PHP, а не в Java?
Рассмотрим код ниже:
<?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 является слабым языком типов, это возможно?