Maison  >  Article  >  Java  >  Objets de référence d'élément via leurs interfaces

Objets de référence d'élément via leurs interfaces

Linda Hamilton
Linda Hamiltonoriginal
2024-10-25 09:42:02178parcourir

Item  Referencie os objetos através das interfaces deles

Préférence pour les interfaces comme types de référence :
Si une interface appropriée existe, vous devez référencer les objets via celle-ci au lieu de la classe concrète.
Cela s'applique aux paramètres, aux valeurs de retour, aux variables et aux champs.

Flexibilité dans l'utilisation des interfaces :
L'utilisation d'interfaces vous permet de modifier l'implémentation sans affecter le code.
Exemple : passer de LinkedHashSet à HashSet ou TreeSet, changez simplement le constructeur.

Quand NE PAS utiliser les interfaces :
Fonctionnalité spécifique à l'implémentation :
Si une implémentation propose quelque chose qui n'est pas requis par l'interface (par exemple, LinkedHashSet garantit l'ordre d'itération, mais pas HashSet).

Sans interface appropriée :
Certaines classes comme String ou BigInteger n'ont pas d'interfaces équivalentes et doivent être utilisées directement.

Cadres basés sur les classes :
Exemple : OutputStream dans le package java.io est référencé via une classe abstraite, pas une interface.

Méthodes spécifiques à la mise en œuvre :
Exemple : PriorityQueue implémente Queue, mais possède une méthode comparator() non présente dans Queue. N'utilisez la classe que si vous avez besoin de cette méthode supplémentaire.

Avantage :
L'utilisation d'interfaces rend le programme plus flexible et modulaire, vous permettant de modifier facilement les implémentations sans casser le code existant.

Exemples de code
Bon exemple : utiliser l'interface comme type

Set<String> s = new LinkedHashSet<>();

Mauvais exemple : Utiliser la classe concrète comme type

LinkedHashSet<String> s = new LinkedHashSet<>();

Flexibilité : Changer l'implémentation sans affecter le code

Set<String> s = new TreeSet<>();

Exemple d'utilisation d'une classe finale comme String

String str = "Hello";

Exemple d'utilisation d'une classe de base du framework

OutputStream output = new FileOutputStream("file.txt");

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn