- Когда следует
implementилиextendиспользовать? - Какие есть примеры из реального мира?
Это правильно?
Реализация , по-видимому, является способом обеспечить наличие определенных методов в классе и правильность форматирования вызовов функций этих методов. Однако реализация - это не способ передачи переменных или «настроек» классу?
Ожидаемый сценарий из реальной жизни: у меня есть платформа электронной коммерции с несколькими классами оплаты, которые следуют одному дизайну. Когда должен быть добавлен новый класс оплаты, очень легко следовать определенному дизайну, interfaceчтобы гарантировать, что все мелочи присутствуют с самого начала.
Расширяющиеся классы заставляют расширенный (дочерний?) Класс наследовать все от своего родительского класса, кроме методов и переменных, объявленных как private?
Ожидаемый сценарий из реальной жизни: у меня есть один вызываемый класс sessionsс двумя дочерними классами с именами sessioncookiesи databasesessions. sessioncookiesи databasesessionsвместе наследуют ряд взаимных параметров конфигурации от своих родительских сеансов, что упрощает изменение параметра конфигурации, чтобы повлиять на все виды возможного хранилища данных посетителей.