我有一个classB延伸classA.在classB我定义一个fooBar()也在其中定义的方法classA.在fooBar()的classB我想调用fooBar()的classA开头.就像我习惯的那样,来自Objective-C.这可能在PHP?如果是这样,怎么样?
jus*_*ody 87
parent::fooBar();
直接从手册:
...冒号是一个令牌,允许访问...重写的属性或类的方法.
...
示例#3调用父方法
Run Code Online (Sandbox Code Playgroud)<?php class MyClass { protected function myFunc() { echo "MyClass::myFunc()\n"; } } class OtherClass extends MyClass { // Override parent's definition public function myFunc() { // But still call the parent function parent::myFunc(); echo "OtherClass::myFunc()\n"; } } $class = new OtherClass(); $class->myFunc(); ?>
Spo*_*ike 66
只是一个快速说明,因为这在谷歌搜索中并不容易,如果你能找到它,这在PHP文档中有很好的记录.如果你有一个需要调用超类的构造函数的子类,你可以用以下方法调用它:
parent::__construct(); // since PHP5
一个例子是如果超类在它的构造函数中有一些参数,那么实现类需要调用它:
class Foo {
  public function __construct($lol, $cat) {
    // Do stuff specific for Foo
  }
}
class Bar extends Foo {
  public function __construct()(
    parent::__construct("lol", "cat");
    // Do stuff specific for Bar
  }
}
你可以在这里找到一个更具激励性的例子.