是否可以直接在PHP中从父类调用函数

时间:2010-07-16 14:27:14

标签: php syntax class

我有

class P {
    function fun() {
        echo "P"; 
    }
}

class Ch {    
    function fun() {
        echo "Ch";
    }
}

$x = new Ch();

如何从$ x调用父函数的乐趣?有可能直接做,或者我必须写:

function callParent {
    parent::fun();
}

2 个答案:

答案 0 :(得分:1)

简单...在子级中没有相同名称的方法,在这种情况下,子方法将继承父方法,并且调用$ x-> fun()将调用继承的方法方法

答案 1 :(得分:1)

假设您的代码实际上是这样的:

class P {
  function fun() {
    echo "P"; 
  }
}

class Ch extends P {
  function fun() {
    echo "Ch";
  }

  function callParent{
    parent::fun();
  }
}

$x = new Ch();

你确实必须使用parent :: fun()来调用P :: fun。

如果您要覆盖必须调用的方法,以便正确初始化父类,这可能很有用。

像:

class Parent {
  function init($params) {
    // some mandatory code
  }
}

class Child extends Parent {
  function init($params) {
    parent::init();
    // some more code
  }
}