Maison > Java > javaDidacticiel > le corps du texte

Réflexion sur les objets et le livre

王林
Libérer: 2024-07-19 13:46:08
original
1106 Les gens l'ont consulté

Reflexão sobre itens e do livro

Abordons l'apparente contradiction entre les points 22 et 41 du livre :

Point 22 : « Si vous ne souhaitez pas définir de type, n'utilisez pas d'interface. »

Cet élément suggère que vous ne devez pas utiliser d'interfaces pour des choses qui ne représentent pas un type réel ou une fonctionnalité concrète. Par exemple, utiliser une interface uniquement pour stocker des constantes n’est pas une bonne pratique. Les interfaces doivent être utilisées pour définir des contrats ou des comportements que les classes doivent implémenter.

Point 41 : « Si vous voulez vraiment définir un type, utilisez une interface. »

Cet article parle de l'utilisation d'interfaces, en particulier d'interfaces de marqueurs, pour définir un type qui catégorise ou marque les classes d'une manière qui peut être vérifiée au moment de la compilation. Une interface de marqueur ne définit pas de méthodes, mais elle définit quand même un type logique qui peut être utilisé pour vérifier le comportement des classes au moment de la compilation.

Rapprochement des éléments

La clé pour comprendre les deux éléments est la différence entre définir un type utile et utiliser une interface de manière appropriée.

  • Le point 22 dit d'éviter d'utiliser des interfaces pour des éléments qui ne sont pas associés à une fonctionnalité ou à un comportement spécifique. L'idée est que les interfaces doivent être utilisées pour définir des contrats clairs que les classes doivent suivre.

  • L'article 41 recommande d'utiliser des interfaces (y compris des marqueurs) lorsque vous souhaitez définir un type qui catégorise ou marque les classes dans un but spécifique et qui peut être utilisé pour la vérification au moment de la compilation.

Application pratique
Article 22 : Évitez ceci :

public interface Constants {
    String SOME_CONSTANT = "value";
    int ANOTHER_CONSTANT = 42;
}
Copier après la connexion

Cela ne définit pas un type ou un comportement ; c'est juste un conteneur de constantes, ce qui est une mauvaise utilisation d'une interface.

Point 41 : Utiliser les interfaces pour marquer un type :

public interface PhysicalProduct {
    // Interface marcadora sem métodos
}

public class Book implements PhysicalProduct {
    // Implementação da classe que indica que é um produto físico
}

Copier après la connexion

Ici, l'interface PhysicalProduct définit un type logique qui peut être vérifié et utilisé à des fins spécifiques, telles que le calcul des frais d'expédition, garantissant que seuls les produits physiques sont pris en compte.

Conclusion
Les deux éléments se complètent en fournissant des conseils sur comment et quand utiliser les interfaces de manière appropriée. Le principe est que les interfaces doivent être utilisées pour définir des types significatifs et des contrats clairs, que ce soit via des méthodes qui définissent le comportement ou en tant que marqueurs qui catégorisent les classes de manière logique et utile.

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!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!