Jump to content
×
×
  • Create New...

Les Interfaces Java


Homeomorphe

Recommended Posts

Les Interfaces (suite logique des classes abstraites)

 

 

Une interface est un type, au même titre qu’une classe, mais abstrait et qui donc ne peut être instancié (par appel à 'new' plus 'constructeur'). Une interface décrit un ensemble de signatures de méthodes, sans implémentation, qui doivent être implémentées dans toutes les classes qui implémentent l’interface. L’utilité du concept d’interface réside dans le regroupement de plusieurs classes (les interfaces sont très utilisées même à haut un niveau!) , tel que chacune implémente un ensemble commun de méthodes, sous un même type.

 

Une interface possède les caractéristiques suivantes :

 

● elle contient des signatures de méthodes;

● elle ne peut pas contenir de variables;

● une interface peut hériter d’une autre interface (avec le mot-clé extends);

● une classe (abstraite ou non) peut implémenter plusieurs interfaces.

 

La liste des interfaces implémentées doit alors figurer après le mot-clé 'implements' placé dans la déclaration de classe, en séparant chaque interface par une virgule.

Dans notre exemple précédent (du premier cours), Forme peut être une interface décrivant les méthodes qui doivent être implémentées par les classes Rectangle et Cercle, ainsi que par la classe Carre (non explicitée précédemment, même si celle-ci peut profiter de son héritage de Rectangle).

 

L’interface Forme s’écrit alors de la manière suivante :

 

public interface Forme 
{ 
public int surface();
  
public void affiche(); 
}

 

Pour obliger les classes Rectangle, Cercle et Carre à implémenter les méthodes surface() et affiche(), il faut modifier l’héritage de ce qui était la classe Forme en une implémentation de l’interface définie ci-dessus :

public class Rectangle implements Forme { ... }


et

 

public class Cercle implements Forme { ... }


Note assez importante : En déclarant un tableau constitué d’objets implémentant l’interface Forme, on peut appeler la méthode affiche() qui existe et est implémentée par chaque objet. Si une classe implémente une interface mais que le programmeur n’a pas écrit l’implémentation de toutes les méthodes de l’interface, une erreur de compilation se produira sauf si la classe est une classe abstraite ! Les classes abstraites et les interfaces sont des notions très abstraite, la compréhension des ces notions est très compliquée mais son utilité est redoutable. Elles permettent de décomposer les travaux et une optimisation du code certaine.

 

En vous souhaitant une bonne compréhension,

 

Homéo'

  • J'adore 2
Link to comment
  • 4 weeks later...
  • Développeur

Salut,

 

Avec un poil de retard, je pense que tu devrais peut-être utiliser des mots plus amicaux pour les débutants dans le langage.

De mémoire les interfaces ne font pas vraiment partie d'un passage mystique dans l'apprentissage du langage, donc je pensais voir

des mots plus souples pour les potentiels développeurs en devenir du forum.

 

Est-ce que ça te pose problème ou est-ce que tu comptais faire un tutoriel en parallèle moins élaboré en termes techniques ?

Link to comment
  • 4 months later...
  • Administrateur

Bonjour,

 

Le partage / tutoriel ici présent doit être réécrit. Le lien de téléchargement est probablement mort... Message automatique de masse...

 

Cordialement,

ASIKOO

Link to comment
  • ASIKOO changed the title to Les Interfaces Java

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.