Bonjour à tous,
je viens de lire le tutoriel sur les interfaces en java, j'ai bien compris qu'une interface est une classe 100% abstraites, mais c'est quoi l’intérêt des interfaces ? Plus précisément ça sert à quoi ?
Merci d'avance
Bonjour à tous,
je viens de lire le tutoriel sur les interfaces en java, j'ai bien compris qu'une interface est une classe 100% abstraites, mais c'est quoi l’intérêt des interfaces ? Plus précisément ça sert à quoi ?
Merci d'avance
À la même chose qu'une classe 100% abstraite, sauf qu'on peut implémenter plusieurs interfaces, alors qu'on ne peut étendre qu'une seule classe.
C'est aussi plus propre. Quand on déclare une classe avec l'intention de la laisser 100% abstraite, on n'a aucun moyen de l'imposer au compilateur. Une interface fait ça aussi.
Bonsoir,
Les interfaces sont indispensables pour une Programmation Orientée Objet (POO).
Au lieu d'écrire un pavé sur le sujet, je ne peux que te conseiller de regarder les "patrons de conception" ("desing patern" en anglais).
Leurs utilités te paraitra alors limpides
Pour faire simple, une interface définie un "contrat".
Une classe implémentant une interface dit répondre au contrat.
De ce fait, on peut voir l'objet sous sa forme contractuelle plutôt que sa classe physique.
Là où sa devient vraiment intéressant, c'est pour des traitements centraux (type supervision par exemple) qui n'ont pas besoin de connaître les types de classes à traiter mais juste de les voir sous la forme interface.
Exemple :
Prenons une interface "Deplaçable", on va lui définir les méthodes :
- avancer
- reculer
- tournerADroite
- tournerAGauche
- monter
- descendre
Une classe Voiture va implémenter l'interface, une Classe Bateau ainsi qu'une classe Avion.
Maintenant, on se place du côté régulateur de trafic.
On se fiche de savoir qu'on a affaire à une voiture ou un Bateau, on veut juste les déplacer... tu vois l'intérêt ?
Pour ce qui est des classes abstraites, on y met plutôt des méthodes communes à plusieurs spécialisations, tout en ne définissant pas un type particulier (sinon, elle ne serait pas abstraite)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager