[JAVA] Qu'est-ce qu'une interface

Bon travail. Je suis nouveau dans la programmation.

Repensez aux mots qui sont passés d'une manière ou d'une autre Je souhaite publier quelques éléments qui sont difficiles à comprendre ou qui m'intéressent. J'espère que cela sera utile pour ceux qui se demandent ce qu'est une "interface".

1. Qu'est-ce qu'une interface?

Si tu le dis très clairement

La "promesse" et la "norme" sont "Cette classe a une ** méthode (≒ fonction)!".

Laisse moi te donner un exemple. Par exemple, supposons que vous ayez une interface appelée panneau de contrôle. Supposons que ce panneau de contrôle dispose de méthodes appelées «lecture», «arrêt» et «avance rapide».

Quand ce controlPanel est implémenté

Assurez-vous que la classe a implémenté "play", "stop" et "fast forward".
C'est aussi une contrainte que si elle n'est pas implémentée, elle provoquera une erreur.

Il y a un diagramme facile à comprendre ci-dessous, veuillez donc vous y référer si vous le souhaitez.

Les références: https://www.gixo.jp/blog/5159/

2. Quoi exactement?

En résumé, la déclaration "Je promets d'implémenter cette fonction" Tu devrais penser ça.

3. Utilisation, utilisation pratique

Puis-je lire ceci et le déclarer en premier? N'est-il pas difficile d'étendre la fonction? J'ai pensé.

J'ai un nouvel exemple facile à comprendre.

  1. La norme de la prise a été décidée, et il est devenu nécessaire pour les appareils électriques de créer essentiellement une prise conforme à la norme (interface).
  2. J'ai fait un sèche-linge
  3. J'ai fait un micro-ondes
  4. J'ai fait un réfrigérateur
  5. La télévision a été inventée

Si tous les appareils ménagers ci-dessus ont la même forme de prise, vous pouvez utiliser la même prise de courant. Il n'est pas nécessaire d'acheter un convertisseur ou de changer la forme de la prise en effectuant des travaux de construction. Pour le dire autrement, les développeurs d'appareils électroménagers sont contraints de «devoir unifier la forme des prises», ce qui est l'essence même de l'interface.

Source du devis: https://teratail.com/questions/70213

Considérant l'avenir comme mentionné ci-dessus, Déclarez "Faites-le avec une telle norme" Le mérite n'est-il pas très facile à comprendre?

Si les normes sont différentes, on peut s'attendre à des résultats très défavorables pour la convivialité ...

3. En quoi est-ce différent de extend?

Maintenant, je voudrais aborder ici aussi. Par exemple, supposons que vous ayez une classe de personne comme celle-ci:

class Person {
     String name;
     eat(){}
```

 Héritez de cette classe de personne et créez une classe de programmeur.
 Pour créer une classe qui hérite d'une classe, suivez le nom de la classe
 étend le nom de la classe
 Il suffit d'ajouter.

```java
class Programmer extends Person {
     Programming(){}
}
```

 C'est l'utilisation d'une classe parente appelée "héritage".
 Pour l'utilisation de l'interface, voici
 Étend et utilise la ** méthode parente **.

 Par exemple, si vous souhaitez utiliser les valeurs et les comportements utilisés dans la méthode parent
 Pas besoin de reproduire à nouveau le mouvement de la méthode parente
 Il peut être utilisé en appelant (héritant).

 Veuillez noter que ceci est différent de l'interface.

 Qu'as-tu pensé.
 J'espère que cela vous aidera à comprendre l'interface.


Recommended Posts

Qu'est-ce qu'une interface
Qu'est-ce qu'un initialiseur?
Qu'est-ce qu'un opérateur?
Qu'est-ce qu'une annotation?
Qu'est-ce qu'une API exactement?
[Ruby] Qu'est-ce qu'une instance?
Qu'est-ce qui est nul? ]
Qu'est-ce que 'java
Qu'est-ce que Keycloak
Qu'est-ce que maven?
Qu'est-ce que Jackson?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?
Qu'est-ce que les paramètres
Qu'est-ce que SLF4J?
Qu'est-ce que la façade? ??
Qu'est-ce que Java <>?
Qu'est-ce que Gradle?
Qu'est-ce que POJO
Qu'est-ce que 'java
Qu'est-ce que centOS
Qu'est-ce que RubyGem?
Qu'est-ce que before_action?
Qu'est-ce que Docker
Qu'est-ce que Byte?
Qu'est-ce que Tomcat
Qu'est-ce que `docker-compose up`?
Qu'est-ce qu'un constructeur
Qu'est-ce que le moi de Ruby?
Qu'est-ce que le codage en dur?
Qu'est-ce qu'un flux
Qu'est-ce que l'attr_accessor de Ruby?
Qu'est-ce que l'encapsulation Java?
Qu'est-ce qu'une permission refusée?
Qu'est-ce que le contrôle d'instance?
Qu'est-ce que Spring Tools 4
Qu'est-ce que l'orientation objet?
Qu'est-ce que le @VisibleForTesting de Guava?
Qu'est-ce qu'un modèle MVC?
Qu'est-ce que la technologie Java?
Qu'est-ce que Java API-java
Qu'est-ce que @ (variable d'instance)?
Qu'est-ce que l'artefact de Gradle?
Qu'est-ce que l'audit JPA?
[Java] Qu'est-ce que flatMap?
Qu'est-ce qu'un servlet?
Qu'est-ce que le développement Web?
[Java] Qu'est-ce que ArrayList?
[JAVA] Quelle est la différence entre interface et abstract? ?? ??
Qu'est-ce que l'orientation objet après tout?
Qu'est-ce que HttpSession session = request.getSession ();
Qu'est-ce que l'assertion Java? Résumé.