Que sont les interfaces Java 8 et comment les utilisez-vous ?
En Java, une interface utilisateur fonctionne de manière très similaire à une classe abstraite, ce qui indique qu’un élément ne peut jamais être produit à partir d’une interface. En conséquence, une interface utilisateur n’a pas de fabricants, mais elle a des approches.
Avant Java 8, une interface utilisateur pouvait décrire les opérations effectuées par son cours d’exécution, mais pas exactement comment le cours d’application devait effectuer cette opération (nous en reparlerons plus tard). Désormais, avec Java 8, un programmeur peut faire les deux avec une interface.
Cela est dû au fait que Java 8 présentait des techniques d’interface utilisateur par défaut. Ainsi, les développeurs ont désormais le choix d’utiliser des approches abstraites standard, ainsi que les toutes nouvelles techniques concrètes au sein d’une interface utilisateur. Voyons plus en détail.
Qu’est-ce qu’une interface ?
Avant de pouvoir vraiment comprendre l’objectif d’une interface et comment l’utiliser efficacement, vous devez reconnaître le polymorphisme. Le polymorphisme est une idée centrale de la programmation orientée objet, qui permet à un développeur de produire des actions généralisées et spécialisées avec des cours (qui, dans certains cas, ne sont pas directement pertinents).
Le principal avantage du polymorphisme est qu’il facilite la réutilisation du code, ce qui est vital sur le marché actuel en croissance des applications logicielles.
Alors, comment le polymorphisme s’associe-t-il à une interface Java ? En Java, une interface utilisateur permet aux classes qui n’appartiennent pas traditionnellement d’avoir accès à des procédures comparables. Dans sa forme la plus simple, une interface Java est une disposition qui peut être facilement utilisée par les différents cours qui l’implémentent. Ces cours d’implémentation peuvent ensuite changer la technique d’une interface de son état généralisé à un état plus spécifique pour accomplir une tâche détaillée.
Quels sont les avantages de l’utilisation des interfaces Java 8 ?
L’avantage le plus évident de l’utilisation d’une interface Java 8 est sa nouvelle capacité de méthode concrète.
Un autre avantage bienvenu des interfaces Java 8 est la capacité d’inclure de toutes nouvelles méthodes concrètes à une interface utilisateur existante, qui a déjà été réalisée, sans interrompre le programme. Avant Java 8, si vous aviez une classe exécutant une interface utilisateur mais n’utilisant pas toutes ses approches, cette classe devrait certainement être classée comme abstraite. Sinon, le programme endommagerait.
Quand utiliser une interface ?
De nombreux programmes existants peuvent éventuellement utiliser les interfaces utilisateur Java 8. La particularité d’une interface utilisateur est de faciliter la vie d’un développeur. Bien que les mêmes performances puissent être obtenues sans interfaces utilisateur, leur utilisation rendra certainement vos programmes plus organisés et votre processus de développement beaucoup moins éprouvant.
Si vous connaissez l’héritage, vous devez savoir qu’il s’agit également d’un principe fondamental de la programmation orientée objet qui aide à la généralisation. Avec l’héritage, les cours comparables sont regroupés directement dans les relations parent-enfant.
Avec le polymorphisme (c’est-à-dire les actions de spectacles qu’une interface montre), des cours qui n’auraient généralement pas accès aux mêmes approches (du fait de l’absence de partenariats parents-enfants), peuvent désormais être raffinés de manière polymorphe.
Un exemple utile d’utilisation d’une interface se trouve au sein du service comptable d’une société de logiciels. Ce département effectuera très probablement un ensemble des mêmes méthodes (ou procédures) lors de la production de la fiche de paie d’un travailleur et de la facturation d’un client.
Ce sont deux classes qui ne seraient pas liées de manière conventionnelle, mais elles peuvent actuellement utiliser plusieurs des mêmes procédures grâce aux interfaces utilisateur Java 8.
Créer une interface en Java
En utilisant le scénario du service comptabilité ci-dessus, vous pouvez créer une interface utilisateur qui traite des procédures de remboursement. La fonction de cette interface est d’aider à la génération de rapports de règlement (sous forme de factures, fiches de paie, ainsi que d’autres dépenses).
Création d’un exemple d’interface Java
Le code over crée une interface Java simple. le interface mot-clé indique que Payable est une interface utilisateur ainsi que le montant du paiement() technique est une méthode abstraite car elle n’est pas implémentée.
Implémentation de l’exemple d’interface Payable
Pour utiliser une interface dans un cours, vous devrez d’abord exécuter cette interface en utilisant le mettre en œuvre phrase clé, comme vous pouvez le voir dans le code ci-dessus. Après avoir réalisé une toute nouvelle interface utilisateur, vous devez produire des techniques concrètes pour toutes les méthodes abstraites de l’interface utilisateur, en utilisant les @Passer outre expression de recherche.
Exécution de l’exemple de programme
Le programme ci-dessus utilise le Employé cours pour créer une toute nouvelle fiche de paie qui utilise le Payable interface utilisateur. Une chose ne peut pas être développée à partir d’une interface utilisateur, mais un objet peut être proclamé en utilisant une interface, comme vous pouvez le voir dans le code ci-dessus.
le Le salaire de Jane L’item est développé à l’aide de deux caractéristiques : le nom d’un employé et le poste occupé par l’employé dans l’entreprise. Il n’y a qu’un seul érecteur primaire dans le employé Bien sûr, par conséquent, chaque nouvel objet d’employé qui est produit doit avoir deux caractéristiques de chaîne.
En utilisant le Le salaire de Jane objet, le programme appelle l’objet montant du paiement() méthode dans la employé class, qui produit la liste ci-dessous résultat dans la console :
Implémentation de l’interface Payable avec l’exemple client
le employé et aussi client Les cours ne sont pas liés les uns aux autres, mais parce qu’ils implémentent chacun la même interface, ils ont désormais accès à des procédures comparables. Comme le employé classe, la client la classe doit appliquer l’interface utilisateur et également remplacer l’abstrait montant du paiement() technique pour fonctionner correctement.
Maintenant, les mêmes opérations qui ont été effectuées sur des choses du employé bien sûr, peut également être effectuée sur un élément de la client cours.
Création d’un exemple d’objet client
Le code over crée le résultat suivant dans la console :
Étant donné que l’interface utilisateur est une interface utilisateur Java 8, vous pouvez y inclure des méthodes par défaut sans casser le code, comme vous pouvez le voir dans l’instance répertoriée ci-dessous.
Mise à jour d’un exemple d’interface Java 8
Avant Java 8, l’ajout de la technique concrète dans le code ci-dessus à votre interface casserait certainement l’interface utilisateur. En effet, les interfaces utilisateur antérieures à Java 8 ne pouvaient pas avoir de méthodes concrètes. Néanmoins, si la méthode était abstraite, l’interface utilisateur resterait intacte. Mais les cours qui l’ont exécuté avant que la toute nouvelle méthode ne soit incluse nuiraient.
Désormais, grâce à Java 8, l’ajout d’approches concrètes à une interface utilisateur n’endommagera certainement pas les cours déjà exécutés. Par conséquent, les objets créés à partir de l’une des deux classes d’application dans cette instance d’administration de compte peuvent utiliser le Nom de la compagnie() méthode sans modifier leur code existant.
Utilisation de l’exemple de méthode par défaut de l’interface Java 8
Le code ci-dessus générera certainement ce qui suit dans la console :
Utilisation de la généralisation pour créer du code réutilisable
Vous pouvez désormais utiliser des opérations similaires pour les classes qui ne sont pas traditionnellement connectées à l’aide des interfaces Java 8. Vous avez également la possibilité et les connaissances nécessaires pour utiliser à la fois des techniques concrètes et abstraites dans vos interfaces utilisateur.
Mais pour les classes qui sont classiquement liées, vous pouvez découvrir comment recycler le code avec héritage.