Мелкий пишет:self::thisClassStaticMethod()?
?
так - не пойдет. Смотрите, реализация метода A::methodA()
PHP:
скопировать код в буфер обмена
class A { static public function staticF() { //требует перекрытия в дочернем классе. return 'это класс А'; } public function methodA() { $addition = //тут нужен тот самый вызов КлассОбъектаTHIS::staticF(); return 'Это метод базового класса А дополнен строкой из дочернего класса: ' . $addition ; } } class B extend A { static public staticF() { return 'Это класс В'; } } $var = new B(); echo $var->methodA(); // должна получится строка: // "Это метод базового класса А дополнен строкой из дочернего класса: Это класс В" // при этом возможно самостоятельное использование без создания объекта класса В: echo B::staticF();
Дополнено:
Если в реализации в классе А метода methodA() указать префикс self:: то будет обращение к статической функции класса А, а нужно к той, которая от класса объекта $this.(Отредактировано автором: 28 Марта, 2013 - 15:43:09)
|