Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Interfaces [ Archives / API ] (titeufhack)

mercredi 19 novembre 2003 à 09:35:59 | Interfaces

titeufhack

Bonjour,

Je sais cela va paraitre une question tres con... mais en fait c assez fondamental...

Est ce qq'un pour m'expliquer clairement l'avantage des interfaces??? Outre la diffenre d'une classe qui "est une" lorsqu'elle herite d'une autre classe et "a une" lorsqu'elle implemente une interface... ;)

Merci d'avance...

Honor 'n' Glory



Z@rG1D

mercredi 19 novembre 2003 à 10:47:44 | Re : Interfaces

neodante

Administrateur CodeS-SourceS

Neodante

Il me semble que j'avais déjà posté une réponse à cette question dans un de mes anciens postes.

Simplement, les interfaces vont te servir à créer des héritages multiples 'propres'. En C++ l'héritage multiple est très pratique mais cela peut se révéler un véritable cauchemard lorsque ton architecture devient complexe.
De plus comme tu l'auras remarquer tu ne peux faire plusieurs extends donc tu vas de voir faire un petit implements qui lui peu être renseigné plusieurs fois ...
C'est pour cela (et Micro$oft adopte aussi ce concept), les interfaces (MC implements) ont été créées. En fait une interface comme tu le verras si tu vas sur le site sun, n'est rien d'autres qu'une 'promesse d'implémentation'...
Je sais que c'est un peu flou ce que je te dit mais c'est réellement un concept important pour pouvoir développer des programme JAVA complexe et puissant, alors je préfère que tu te reportes à des articles complets avec des exemples pour vraiment saisir toute la cohérence d'une interface (et crois moi la première chose que tu vois est simple mais les applications sont nombreuses et pas toujours évidente à voir du premier coup ...)
@+

mercredi 19 novembre 2003 à 11:00:45 | Re : Interfaces

titeufhack

Ok merci...

mais le truc c que j'ai du mal a saisir a quoi ca sert de promettre au compilateur que je v implementer telle et telle methode???

surtout qu'avec une interface, contrairement a la limite avec une classe abstraite, tu ne peut definir que la signature de ta methode.. pas ce qu'elle est cence faire... j'ai du mal a saisir le concept... :(


Honor 'n' Glory



Z@rG1D

mercredi 19 novembre 2003 à 13:27:40 | Re : Interfaces

neodante

Administrateur CodeS-SourceS

Neodante

> surtout qu'avec une interface, contrairement a la limite avec
> une classe abstraite, tu ne peut definir que la signature de
> ta methode

C'est ce que je te dit, tu fais une promesse que ta classe contiendra ces méthodes ...

Regarde sur java.fr ou sur des sites qui consacre des articles pour le développement JAVA. Le mieux si tu veux apprendre Java est tout de même d'acheter un livre, et je te recommandrais fortement cet ouvrage : 'Au coeur de Java' en 2 volumes. J'ai quelques livres de Java et vraiment ces 2 là sont sortes clairement du lot ! Va sur www.neogamedev.com (ou clic sur mon profil -> c'est mon site (que j'ai aps le temps de mettre à jour...) dans la section bouquin et tu auras un lien direct vers Amazon qui est le moins cher sur ces livres (existe un coffret qui regroupe les deux). Franchement tu ne regretteras pas ton achat je te le garantit !
@+

mercredi 19 novembre 2003 à 20:23:42 | Re : Interfaces

GodConan


GodConan

l interrer evident et imediat c que cela te permet de developer des class qui depende entierermen d Interface pour leur accessibliliter sans pour otan avoir a developer les class correspondante...

c est exactement le principe des Listener du java bien que l on dispose de class Adapter toute la gestion awt de passe au nivo des interfaces

c est el meme resonement pour les model de donne et les renderer ...

et bien sur comme consepte ;o) un peu moin evident il y a l heritage multiple ;o) (mais bon ce n est pas celui du C++)

et c vrai ke les interface son tres utilisé en RMI héhé
pour les Stub par exemple...

GL
++

vendredi 24 juin 2005 à 19:53:46 | Re : Interfaces

squale

Membre Club
Explication par l'exemple:

Tu defni l'interface suivante (tres simple mais c pour l'exemple)
interface Saveable
{
   public void save();
}

voici deux classes differentes implementant l'interface
class A implements Saveable
{
     //implementation de l'interface
    public void save()
   {
      //instructions de sauvegarde en BDD par exemple
    }
}

class B implements Saveable
{
//implementation de l'interface
    public void save()
   {
      //instructions de sauvegarde en fichier autre exemple
    }

}

//utilisation en cas pratique

public static void main(String[] args)
{
   A a = new A();
   B b = new B();
   Vector v = new Vector();
   v.add(a);
   v.add(b);
   //maintenant on veut sauver tous les objet de v
   for(Iterator ite = v.iterator(); ite.hasNext();)
   {
        //on sait que tous les objet de v implemant l'interface
         Saveable objetSaveable = (Saveable) ite.next();
         //on appelle la fonction save() de chaque objet
         //en passant par l'interface
         objetSaveable.save();
   }

}

Et voilà. D'ailleurs tu as beaucoup d'objet en Java qui fonctionne sur ce principe.
Exemple les List (c une interface)
Vector et ArrayList (entre autre) implémente List, tu peux ainsi utilsier les 2 type d'objet en fonction des cas et faire des fonctions génériques qui utlisent les méthodes de l'interface en ne faisant appelle qu'a un 'objet' List mais qui prendra la reference d'un vrai objet lors de son utlisation.
Si c pas clair dis le moi j'essaierai de faire mieux

A+

Sylvain





Cette discussion est classé dans : classe, img, br, lorsqu, interfaces


Répondre à ce message

Sujets en rapport avec ce message

Certification programmeur [ par titeufhack ] Bonjour, j'aimerais savoir si des développeurs ont déjà passé la certification programmeur J2SE de Sun.Dans ce cas, pourriez vous me donner quelques c Aide pour faire un sous menu en Java [ par jagdjg ] Voila j ai fait une barre menu en java avec des items mais je voudrais ajouter un sous menu à un item, de ce genre lahttp://users.skynet.be/fa011042/1 Interfaces graphiques en java [ par bouz78 ] On se propose de ressortir TOUTES l'interaction (entrée et sortie) d'1 programme vers l'extérieur (coté utilisateur) à travers une interface graphique Une image dans un TextArea? [ par titeufhack ] Bonjour,j'aimerais savoir comment l'on pourrait inserer une image dans un JTextArea... a la facon d'un chat....Si ce n est pas possible avec ce compos pb graphique... [ par alexbristol ] bonjour,je veux créer une grille dans laquelle il y aura un point de départ et un point d'arrivée. Ensuite un petit robot va parcourir la grille pour barre de chargement [ par aeled ] Bonjour !J'aimerais savoir comment faire une barre de chargement sur une petite fenetre qui se lance avant l'application pour faire patienter l'utilis Palette couleur [ par - Albat - ] Bonjour,j'ai une petite questionje suis occupé a réalisé une application javaet j'aimerais créer une palette de couleur stylemais je ne sais pas comme Problème avec JInternalFrame [ par jagdjg ] Bonjour à tous, j ai lu le topics ""comment utiliser une JINternalFrame avec un JDesktopPane" et je pense faire comme lui. Mon problème c est que la I Recuperation variable d'une autre classe [ par Djumb ] Bonjour je debute en java j'ai des notions de Vb.j'ai 3 fichiers .java et je voudrai que mon premier fichier (qui possede le main) contienne toute les clavier dans une classe distante [ par pong1980 ] Salut a tous,J ai un probleme. Je fais une applet en java mais cette applet appelle un nouvel objet qui se trouve dans une autre classe et cette class


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.