<?php
abstract class Foo
{
protected $name;
public function __construct($name)
{
$this->name = $name;
}
public function getName()
{
return $this->name;
}
}
final class Bar extends Foo
{
public function __construct($name)
{
parent::__construct($name);
}
}
$bar = new Bar('Jan');
echo $bar->getName();
$foo = new Foo('Jan');
echo $foo->getName();
PD9waHAKCmFic3RyYWN0IGNsYXNzIEZvbwp7Cglwcm90ZWN0ZWQgJG5hbWU7CgkKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSkKCXsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0TmFtZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5uYW1lOwoJfQp9CgpmaW5hbCBjbGFzcyBCYXIgZXh0ZW5kcyBGb28KewoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lKQoJewoJCXBhcmVudDo6X19jb25zdHJ1Y3QoJG5hbWUpOwoJfQp9CgokYmFyID0gbmV3IEJhcignSmFuJyk7CmVjaG8gJGJhci0+Z2V0TmFtZSgpOwoKCiRmb28gPSBuZXcgRm9vKCdKYW4nKTsKZWNobyAkZm9vLT5nZXROYW1lKCk7Cg==