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