En programmation orientée objet, il est utile de définir ce qu'une classe doit faire, mais pas comment.
Une méthode abstraite définit la signature d'une méthode sans fournir d'implémentation, et la sous-classe doit implémenter cette méthode.
Une interface Java vous permet de séparer complètement la définition de ce qui doit être fait de la mise en œuvre de la façon de le faire.
Une interface peut spécifier des méthodes sans corps, qui doivent être implémentées par les classes.
Il n'y a pas de limite au nombre de classes pouvant implémenter une interface, et une classe peut implémenter plusieurs interfaces.
Pour implémenter une interface, la classe doit fournir l'implémentation des méthodes décrites.
Différentes classes peuvent implémenter la même interface de différentes manières, mais partager le même ensemble de méthodes.
L'utilisation d'interfaces permet le polymorphisme, car les objets de différentes classes peuvent être traités de manière interchangeable.
JDK 8 a introduit la possibilité pour les interfaces de définir des implémentations par défaut pour les méthodes, permettant à une interface de spécifier un comportement.
Malgré les implémentations standards, l'intention initiale des interfaces de définir uniquement ce qui reste en grande partie inchangée.
L'accent initial sera mis sur les interfaces traditionnelles, avec une discussion des méthodes standard à la fin du chapitre.
nom de l'interface d'accès {
ret-type nom-méthode1 (liste-param);
ret-type nom-méthode2 (liste-param);
tapez var1 = valeur;
tapez var2 = valeur;
// ...
ret-type nom-méthodeN(liste-param);
tapez varN = valeur;
>
L'accès à une interface peut être public ou standard (package-privé).
Si aucun modificateur d'accès n'est inclus, l'interface n'est accessible qu'aux membres de votre forfait.
Lorsqu'elle est déclarée publique, l'interface peut être utilisée par n'importe quel code et doit être dans un fichier du même nom.
Le nom de l'interface peut être n'importe quel identifiant valide.
Dans la forme traditionnelle d'une interface, les méthodes sont déclarées uniquement avec leur type de retour et leur signature, étant essentiellement des méthodes abstraites.
Les classes qui implémentent cette interface doivent fournir des implémentations pour toutes leurs méthodes, qui sont implicitement publiques.
Les variables d'une interface ne sont pas des variables d'instance ; ils sont implicitement publics, finaux et statiques, et doivent être initialisés (ce sont des constantes).
Exemple de définition d'interface :
Série d'interfaces publiques {
int getNext(); // renvoie le numéro suivant de la série
annuler la réinitialisation (); //redémarrer
void setStart (int x); // définit la valeur initiale
>
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!