- Quand doit-on
implement
ou doit -ilextend
être utilisé? - Quels sont des exemples concrets?
Est-ce correct?
La mise en œuvre semble être un moyen de faire en sorte que certaines méthodes existent dans une classe et que ces appels de fonctions de méthodes soient correctement formatés. L'implémentation n'est cependant pas un moyen de passer des variables ou des "paramètres" à la classe?
Scénario réel attendu: j'ai une plateforme de commerce électronique avec plusieurs classes de paiement qui suivent toutes le même design. Lorsqu'une nouvelle classe de paiement doit être ajoutée, il est vraiment facile de suivre la conception définie du interface
pour s'assurer que tous les éléments sont là, depuis le début.
L'extension des classes fait que la classe étendue (enfant?) Hérite de tout de sa classe parente à l'exception des méthodes et des variables déclarées comme private
?
Scénario réel attendu: j'ai une classe appelée sessions
avec deux classes enfants nommées sessioncookies
et databasesessions
. sessioncookies
et databasesessions
, ensemble, héritent d'un certain nombre d'options de configuration mutuelle de leurs sessions parentes, ce qui facilite la modification d'une option de configuration pour affecter toutes sortes de stockage éventuel des données des visiteurs.