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