Ищете немного руководства здесь.
Я знаю, что закрытые методы не являются полиморфными, и поэтому нет смысла делать из них абстрактные функции, но я хочу каким-то образом обеспечить, чтобы дочерний класс базового класса всегда объявлял закрытый метод.
Я делаю что-то не так или это нормально? Я знаю, что вы не можете использовать множественное наследование, поэтому, возможно, вам нужны черты, но я не знаю, смогу ли я применить их в Php.
Я думал, может быть, у меня может быть абстрактный базовый класс, у которого есть абстрактный защищенный метод, и тогда этот класс будет окончательным, так как функция должна быть защищена? Единственным недостатком является то, что я мог пойти дальше с этим, хотя.
Я просто хочу, чтобы у дочернего класса всегда был базовый метод, к которому может обращаться только он, но я не уверен, как это сделать, не сделав его окончательным.
РЕДАКТИРОВАТЬ:
Контекст ситуации: у меня есть дочерние классы, которые похожи на весы, которые наследуют от базового реферата, которые выполняют проверку типов (потому что php динамический), а также хотят сделать окончательную проверку для требуемых переменных. Каждый дочерний класс должен делать это и делать это одинаково, но он должен вызываться чем-то другим.
РЕДАКТИРОВАТЬ Идея:
Я думал, что мог бы просто написать интерфейс для базового класса с функцией для выполнения финальной функции (в данном случае рендеринга), а внутри функции я мог бы вызвать проверку ошибок. Проблема в том, что я не мог получить доступ к новым атрибутам, которые я недавно создал в расширенных функциях, потому что функция базового класса не знала бы о них. Тогда я застрял бы в том, чтобы поместить их в массив или что-то такое, что в любом случае побеждает цель создания дочернего класса. Кроме того, если бы я это сделал, я не мог быть уверен, что функция не будет переопределена, не сделав ее окончательной, чтобы я больше не мог расширять ее. Идк здесь. Пожалуйста, помогите, если у вас есть идеи.
Задача ещё не решена.
Других решений пока нет …