Как правильно наследовать? Ребята, почему не получается наследование? Учусь.
Вот мой простой класс для работы с книгами$obj = new Book();
$post = array('name' => 'Книга1', 'author_id' => 10, 'price' => 1000);
$obj->create($post); //создаем книгу
$post = array('id' => 100, 'name' => 'Книга11', 'author_id' => 11, 'price' => 1111);
$obj->edit($post); //редактируем
$obj->delete($id); //удаляем
$obj->showAll(); //получаем весь массив книг
$obj->showOne(100); //получаем только одну книгу
И один приватный select(array $param) который взаимодействуя с showAll и showOne, меняет запрос к бд.
Со временем появляются новые задачи, функционал (например добавить обложку, добавить аннотацию и тд.)Куда дописывать новый код в конкретном случае? Я могу добавить его в основной класс, или создать наследника. Только вот что тут и от чего наследовать я не въеду. Все методы кроме select-ов так то не связаны друг с другом. Каждый сделает свои проверки, запросы к бд и всё.
Если бы задача стояла вывести какой нибудь иной selectByAuthor(), тогда да, есть смысл наследовать тот же private select. Но тут совершенно нечего наследовать.

21 Авг 2019 в 06:59
244 +1
0
Ответы
1

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

Вы можете добавлять новый функционал напрямую в основной класс Book, таким образом, расширяя его функционал без создания дополнительных наследников.

Для примера, если вам нужно добавить функцию для работы с обложкой, вы можете просто добавить новый public метод в класс Book, который будет отвечать за работу с обложкой.

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

Каждая ситуация уникальна, и вам нужно анализировать, какой подход будет наиболее подходящим для вашего конкретного случая.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир