Nim*_*imi 4 php oop inheritance extends
A和B具有相同签名的功能 - 让我们假设:foo($arg)- 和那个class A extends B.
现在我有一个实例:
$a = new A();
$a.foo($data);
Run Code Online (Sandbox Code Playgroud)
我还可以通过父级(B)的foo()功能运行$a还是被覆盖?
谢谢!NIMI
它被覆盖但是如果你想同时使用它们你可以这样做:
function parentFoo($arg)
{
return parent::foo($arg);
}
Run Code Online (Sandbox Code Playgroud)
如果你想让子函数调用父函数,请执行以下操作:
function foo($arg)
{
$result = parent::foo($arg);
// Do whatever you want
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此URL:http://php.net/manual/en/keyword.parent.php
.是PHP中的字符串连接运算符.要调用方法,请使用->.
要调用重写方法,请使用 parent::method()
class B {
public function foo($data) {
echo 'B';
}
}
class A extends B{
public function foo($data) {
parent::foo($data);
echo 'A';
}
}
$a = new A();
$a->foo($data); // BA
$b = new B();
$b->foo($data); // B
Run Code Online (Sandbox Code Playgroud)