Вызов защищенного метода с использованием parent - PullRequest
0 голосов
/ 18 апреля 2019

Я смотрю в классе и пытаюсь выяснить, почему программист кодирует этот метод следующим образом:

protected function attributes ($data)
    {
        $product = parent::attributes($data);

        //Do some logic...

        return $product;
    }

Итак, чтобы быть более конкретным, мой вопрос, почему это вызывает в его собственном методе? $product = parent::attributes($data);

1 Ответ

2 голосов
/ 18 апреля 2019

Этот метод переопределяет метод attributes() родительского класса, но вызов подобного родительского метода позволяет дочернему классу повторно использовать код в родительском методе для получения $product, прежде чем делать с ним свою собственную вещь. Вы можете думать об этом как о расширении родительского метода, а не о его переопределении.

В этом нет необходимости, вы можете переопределить метод родительского класса и заставить его делать что-то совершенно другое, но часто бывает полезно сделать это таким образом, чтобы избежать дублирования кода между двумя классами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...