Допустим, у меня есть что-то вроде этого:
abstract class Parent
{
protected function foobar($data)
{
//do something with data
return $result;
}
}
class Child extends Parent
{
public function foobar()
{
$data = ...;
return parent::foobar($data);
}
}
Как вы можете видеть, foobar
обычно определяется в Parent
, а затем Child
передает специфичные для класса данные в родительский объект, которыйвозвращает результат.Причина этого заключается в том, что каждый дочерний класс parent имеет свои собственные данные, но сам метод остается тем же - отличается только параметр.Ребенок также публично раскрывает метод.
Лучше ли сделать что-то вроде этого, где я создаю метод с одинаковым именем как в родительском, так и в дочернем элементах?Или мне следует создать метод _foobar
в классе Parent
и просто вызвать вызов метода Child
foobar
?