L'exemple précédent montrait l'utilisation de méthodes standard, mais pas dans un scénario pratique.
L'interface Series était largement utilisée, et de nombreux programmes en dépendaient.
Il a été découvert que plusieurs implémentations de Series ajoutaient une méthode qui renvoie un tableau avec les n éléments suivants de la série.
Il a été décidé d'améliorer l'interface Series avec la méthode getNextArray(int n), où n spécifie le nombre d'éléments à récupérer.
Avant les méthodes standard, l'ajout de cette méthode briserait le code existant qui ne la définissait pas.
Avec les méthodes standards, la nouvelle méthode peut être ajoutée à l'interface Series sans causer de problèmes dans les codes existants.
Dans certains cas, les méthodes standards ajoutées à une interface signalent une erreur si elles sont utilisées, lorsqu'il n'est pas possible de fournir une implémentation qui fonctionne dans toutes les situations.
Ces méthodes par défaut définissent du code facultatif.
Dans certains cas, une méthode par défaut peut être définie pour fonctionner dans n'importe quelle situation.
La méthode getNextArray() est un exemple, car elle peut être implémentée à l'aide de la méthode getNext() déjà requise par l'interface Series.
Il est possible d'implémenter la nouvelle version de Series avec la méthode standard getNextArray().
La méthode standard getNextArray() est implémentée à l'aide de la méthode getNext(), déjà présente dans la spécification Series originale.
Toute classe qui implémente Series peut utiliser getNextArray() sans avoir à remplacer la méthode.
Le code existant ne sera pas invalidé en ajoutant getNextArray().
Les classes peuvent fournir leur propre implémentation de getNextArray() si nécessaire.
Avantages de la méthode standard :
Permet aux interfaces d'évoluer sans invalider le code existant.
Fournit des fonctionnalités facultatives sans nécessiter l'implémentation d'un espace réservé.
Dans le cas de getNextArray(), si une implémentation de Series n'a pas besoin de la méthode, elle n'a pas besoin de fournir une implémentation d'espace réservé, ce qui entraîne un code plus propre.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3