JavaRush /Blog Java /Random-FR /Interface en Java
vinsler
Niveau 35

Interface en Java

Publié dans le groupe Random-FR
Je suis un mauvais conteur si je n’ai pas pour objectif d’expliquer quelque chose d’incompréhensible à quelqu’un avec une demande spécifique, donc je comprends les choses simples, et d’abord j’en parlerai ici. Je ne suis pas l'exemple pédagogique de JavaRush consistant à poser d'abord une question puis à vous expliquer comment le faire. Je suis partisan de dire d’abord, puis de demander, comme pour dire, montrer d’abord, puis expliquer.
Interface en Java - 1
BS : Actions == comportement, prenez-les comme synonymes, les actions sont simplement mieux comprises, c'est toujours quelque chose d'actif et le comportement peut ne rien montrer.

interface -interface

Qu'est-ce que c'est? Exemple de liste d'interfaces (avec génériques) :
public interface Store<T, ID> {
    void add(T t);
    void update(T t, ID i);
    void delete(ID i);
    T findOne(ID i);
    List<T> findAll();
}
Interface Crud commune (de CRUD : Créer, Lire, Mettre à jour, Supprimer). Ne vous inquiétez pas, tout est assez simple. Cette interface signifie que le travail avec de nombreuses bases de données repose sur le principe suivant : il faut ajouter un enregistrement, mettre à jour un enregistrement, supprimer et retrouver tous les enregistrements. Vous verrez cela 100 fois de plus et vous écrirez presque la même interface le même nombre de fois. Il est désigné public car il doit être implémenté par la classe. Que signifie être implémenté par une classe ? Tout est très simple : il doit décrire toutes les méthodes de l'interface. L'exemple le plus simple d'implémentation dans une classe :
void add (T t) {
	bookstore.add(t);
}
Au lieu de T t, un certain générique sera substitué. En un mot, il s'agit du TYPE d'une variable, c'est pourquoi elle est le plus souvent désignée par T = Type. Dans notre exemple, disons que cela pourrait ressembler à ceci :
void add (Book book) {
	bookstore.add(book);
}
Naturellement, à la place de Book book, vous pouvez remplacer n'importe quelle variable dont vous avez besoin pour votre implémentation. Pour comprendre, vous pouvez théoriquement imaginer que T = Objet, et comme en Java tout est Objet, vous pouvez également y définir n'importe laquelle de vos classes/variables. Le seul problème surviendra plus tard - les exceptions si la classe est nulle, etc. Selon ses propres termes, il s'agit d'une certaine structure de programme qui définit les relations entre les objets en les divisant en certaines parties comportementales. Le but d’une interface est de définir des fonctionnalités à implémenter par une classe. Autrement dit, une description des signatures de méthode. À l’intérieur de l’interface, il y a des noms de méthodes qui renvoient et saisissent des valeurs, et c’est tout. Eh bien, vous pouvez toujours y désigner certaines variables, mais elles deviennent immédiatement implicitement publiques static final et sont accessibles depuis n'importe quelle partie du programme. L'interface décrit des actions, et donc ces mêmes actions y sont contenues, c'est-à-dire fonctions ou méthodes. Pourquoi est-ce nécessaire ? Qu’est-ce que cela simplifie ou quels avantages cela apporte-t-il ? Simplifier la description des actions et des comportements. Nous disons quoi faire, mais chaque classe implémente elle-même comment le faire. Gagnez du temps sur les grands projets. Les interfaces sont créées dans des situations où nous savons que nous devons effectuer une tâche, mais la manière de le faire peut varier. L'interface décrit les noms des actions - c'est simplement la direction d'une certaine abstraction. Bien qu'il puisse également y avoir des interfaces sans méthodes ni champs, telles que des marqueurs tels que Cloneable, Remote, etc. Prenons l’exemple de voiture préféré de tous. L'interface qu'il contient décrira les actions possibles de la voiture, la rotation du volant ou le sens de déplacement, le gain de vitesse, l'essence restante, etc. C'est-à-dire les mêmes actions que n'importe quelle voiture peut avoir. En d’autres termes, nous descendons dans la jungle de la dégradation jusqu’au niveau le plus bas de création de la toute première voiture et, avec notre propre cerveau, nous comprenons comment elle a été créée et ce qu’elle avait. Naturellement, nous décrivons cela de manière abstraite et uniquement pour les actions. Qu'avait la toute première voiture ? Y avait-il un volant ? C'était, ce qui signifie qu'il tournait quelque part, la direction du volant/du mouvement. Y avait-il des roues ? Oui, cela veut dire que je roulais à une certaine vitesse, un changement de vitesse. C'est toute l'interface. Mais en général, des interfaces sont créées pour la mise en œuvre de certaines actions. Ceux. nous écrivons un programme pour des programmes plus spécifiques que pour tout ce à quoi vous pouvez penser. Les interfaces elles-mêmes contiendront donc des méthodes plus claires et plus spécifiques. Bien entendu, ils seront aussi abstraits que possible. Les interfaces peuvent être héritées les unes des autres en tant que classes.
interface MyInterface extends NotMyinterface;
Les interfaces sont implémentées dans les classes. Vous pouvez implémenter autant d'interfaces que vous le souhaitez. Contrairement à l’héritage, héritez d’un seul.
class NewClass extends OldClass implements MyInterface, NotMyinterface;
Ceux. nous avons proposé des actions, leur avons donné des noms, saisi des données, renvoyé des données, écrit tout cela dans l'interface, puis créé une classe et ajouté notre interface à cette classe, c'est-à-dire implémenté notre interface dans cette classe. De plus, toutes les méthodes/fonctions décrites dans l’interface doivent avoir une implémentation. Cela peut être fait directement dans l'interface elle-même en ajoutant le mot default avant la méthode et en écrivant l'implémentation directement dans la méthode, comme une classe. Cela est devenu possible avec la version 8 de Java. Cela peut également être fait dans une classe qui implémentera cette interface. Eh bien, nous avons écrit l'interface, l'avons implémentée dans la classe, déployé l'implémentation dans la classe, nous pouvons l'exécuter et la tester. Vous pouvez également lire dans les interfaces :
  • Méthodes statiques.
  • Méthodes privées. (répétition du code)
  • Variables/Constantes.
  • Interfaces imbriquées.
Mais il vaut mieux le faire plus tard, et il est également nocif de trop se remplir la tête. Question intéressante, qu'est-ce qu'une Volvo ? Classe ou interface ?
line1: Volvo v = new VolvoV2();
line2: Volvo v = new VolvoV3();
En plus des interfaces, il vaut la peine de continuer sur les classes abstraites et les classes. Peut-être plus tard, quand j'aurai encore quelques heures de libre. ))) PS : les gars, je demande toutes les critiques sous le post ou en MP, je comprends parfaitement que tout le monde l'a))) et je suis toujours intéressé de l'entendre, car c'est une raison pour devenir un peu meilleur et encore une fois, continuez à avancer. Sur ce, merci beaucoup à tous et bonne chance pour la programmation. )))
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION