对象继承
PHP 的对象模型也使用了继承。继承将会影响到类与类,对象与对象之间的关系。比如,当扩展一个类,子类就会继承父类所有公有的和受保护的方法。除非子类覆盖了父类的方法,否则被继承的方法都会保留其原有功能。继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。
<?php
class Foo
{
/**
* Return a string.
*
* @param void
* @return string
*/
public function method(): string
{
return 'foo';
}
/**
* Return a string.
*
* @param void
* @return string
*/
public function test(): string
{
return 'test';
}
}
class Bar extends Foo
{
/**
* Override the parent method.
*
* @param void
* @return string
*/
public function method(): string
{
return 'bar';
}
}
$foo = new Foo();
var_dump($foo->method()); // string(3) "foo"
var_dump($foo->test()); // string(4) "test"
$bar = new Bar();
var_dump($bar->method()); // string(3) "bar"
var_dump($bar->test()); // string(4) "test"