Rechercher : dans
Par :

Extends et Implements et Interface

Dernière réponse le 3 mai 2009 à 12:53:19 patapouf, le 13 jun 2003 à 20:02:12 
 Signaler ce message aux modérateurs

J aurais trois questions :
1-quelle est la difference entre extends et implements
2-quelles sont les conditions pour que lorsque j utilise le extends l heritage entre deux classes s effectue
3-a quoi sert une interface lorsque l on a les methodes dans les classes

je precise que java c est pas ma tasse de the si vous pouviez me repondre avec des termes simples (voire bete!) je vous en serai reconnaissant

merci

Meilleures réponses pour « Extends et Implements et Interface » dans :
Redémarrer l'interface réseau en ligne de commande VoirDans le cas d'une mise en place d'un réseau, notamment pour vérifier qu'un serveur DHCP attribue correctement les adresses IP, il peut être plus rapide de redémarrer l'interface réseau en ligne de commande plutôt que par l'interface graphique. Ces...
Outlook - Interface non enregistrée VoirLorsque vous rédigez un courrier dans Outlook 2002 ou Outlook 2003, celui-ci affiche le message d'erreur suivant : Interface non enregistrée Pour y remédier : cliquer sur Démarrer / Exécuter saisir et valider la commande suivante :...
Télécharger A Cool Interface For FZC VoirCertains fichiers de compression .zip sont protégés par mot de passe. Alors si vous le perdiez ou si vous ne l’avez pas entre les mains, alors le seul moyen est de passer par les récupérateurs de mot de passe. A Cool Interface For FZC est un...
L'interface HDMI VoirInterface HDMI HDMI (High Definition Multimedia Interface, traduisez interface multimédia haute définition) est une interface numérique permettant le transfert de données multimédia (audio et vidéo) non compressées en haute définition. Certains...
L'interface de Windows VoirLa barre des tâches L'interface de Windows 9x (on désigne par 9x, les versions Windows 95 et 98) est caractérisé par la barre située au bas de votre écran (elle peut-être déplacée en cliquant avec le bouton gauche de la souris, et, tout en laissant...

1

tafiscobar, le 13 jun 2003 à 21:58:04

Extends : c'est pour l'heritage de code
ex:
class A { }
class B extends A { }
class C { }
class D extends A,C { } // erreur, heritage de code est simple un - un

interface I { }
interface J { }
interface K extends I, J { } //juste parce q cela concerne des interfaces

en fait les interfaces c'est juste pour montrer a l'exterieur le comportement de plusieurs classes et pour garantir a peu pres que le comportemnent de toutes les classes qui implementent cette sorte de classe appelee interface garantit au minimum ces comportements.
Maintenant dans une interface, il n'ya pas de code, ni de varaiales sauf des constantes, donc ds une interface, on ne trouve que la declaration des methodes.
Le mot cle implements est utilise pour dire que la classe qui etend cette interface va definir un certain naombre des comportements de cette interface (si tout est defini, c'est regle, c'est une classe complete qui p etre instanciee, sinon c'est une classe abstraite non instanciable directement).

Maintenant avec l'ex ci-dessus avec A et B,
class B extends B {} signifie que B est une sorte de A avec en plus soit la modification du comportement de A ou bien un plus ds son coportement.

j'espere t'avoir aide, il fait tres chaud ds la piece ou je suis et j ne pe m'y eterniser.

tafiscobar

Répondre à tafiscobar

2

patapouf, le 14 jun 2003 à 14:31:54

Bonjour

j ai a peu pres compris mais j ai un autre souci:
j ai deux class B et D et deux interfaces A et C
ce que je veux faire c est :
- D extends B implements A
- D implements C extends A

et je voudrais savoir si c est possible deux memes methodes dans les deux interfaces du genre
dans A il y aurait public A compter(int n);
dans C il y aurait public C compter(int n);

j espere avoir ete clair
merci d essayer de me dechifffrer
patapouf

Répondre à patapouf

3

patapouf, le 14 jun 2003 à 14:39:07

En fait j aurai aime savoir si en faisant :
interface1 extends interface2
les methodes de l interface2 s applique automatiquement a l interface1?

et si oui dans les class ou sont definies les methodes on met quel type interface1 ou interface2?

Répondre à patapouf

4

tafiscobar, le 14 jun 2003 à 17:08:31

D implements C extends A : c'est faux ca, D c'est une classe et A une interface, donc D dot implemente aussi A, la syntaxe est :
D implements C,A

Chaque classe est une "portee" et donc tu p etre mettre tout ce q tu veux qui soit conforme a la syntaxe de java, donc 2 classes differentes peuvent avoir 2 methodes de meme signature et de meme nom.
RM: effectivement si D implemente A et C et que A et C possedent toutes les 2 la methode compter(int n), D n'aura qu'une seule methode de signature compter(int n).

I1 extends I2 : oui, I1 heritera de toute l'interface de I2.
j'epere avoir ete clair.
tafiscobar

Répondre à tafiscobar

5

patapouf, le 14 jun 2003 à 19:50:28

En ecrivant D implements C extends A je voulais dire que D implements C et C extends A
quelle serait alors la bonne syntaxe steup

et un gros merci pour ce qu tu as deja fait
patapouf

Répondre à patapouf

6

patapouf, le 14 jun 2003 à 20:04:13

Oublie ma derniere question je me rends de ma sottise mais je vous avez prevenu

encore merci
patapouf

Répondre à patapouf

7

dado, le 3 sep 2003 à 23:47:07

Bonjour
S'il vous plait j'aimerais savoir les differences qui existe entre une interface et une classe abstraite

Répondre à dado

8

Raidwan, le 25 nov 2006 à 12:19:56
  • +2

Salut,

En fait une interface ne fait que définir des en-têtes de méthodes sans corps (sans code).
Une classe abstraite est comme une interface sauf qu'à la différence on peut (ou non) définir le corps de ses méthodes.

on ne peut étendre une interface que depuis un autre interface, dans tous les autres cas il faut l'implémenter.

Un classe abstraite peut étendre ou/et implémenter une interface.

Une classe (normale) peut implémenter une interface ou une classe abstraite et peut étendre une classe Abstraite.

----
Une interface (en java) ne peut contenir que
1. des en-têtes de méthodes d'instance qui implicitement sont public et abstract, et ne peuvent avoir d'autres modificateurs; (on peut en mettre mais ça ne sert à rien, ils seront omis)
2. des déclarations de constantes qui, par défaut, sont public, final et static et ne peuvent avoir d'autres modificateurs; (idem que les méthode on peut mais ça sert à rien)
3. des interfaces et des classes imbriquées

Une interface ne peut donc être instanciée (new) puisqu'elle ne comporte aucune implémentation.

....

Répondre à Raidwan

10

Aristote, le 14 mar 2008 à 13:11:01

Bjr
Je début en java après une longue période en C. Je te dis ça juste pour que tu comprennes que je quitte l'impératif pour de l'objet c'est assez cho comme début.

J'ai vu que tes réponses étaient très concises. Et je voudrai à mon tour te poser une question au sujet des classes abstraites.
Une classe fille abstraite peut elle héritée d'une classe mère abstraite, et donc ne pas implémenter les méthodes abstraites de la classe mère ?

Tu peux me répondre sur mon mail stp: patrickbak2001@yahoo.fr

Merci bien

Répondre à Aristote

12

 rocco, le 3 mai 2009 à 12:53:19

Grrr : Tu peux me répondre sur mon mail stp: patrickbak2001@yahoo.fr

Merci et ceux que ça interesse aussi on fait koi on te demande de nous forwarder le mail ... pffff boulet.

(Sinon ca va ta boite est pas trop spammer depuis que tu as poster ton email ?)

P.S.: réponds pas je reviendrais pas voir la réponse. Que ça t'apprenne un truc... le partage des connaissances au cas tu aurais pas compris.

Répondre à rocco

9

bellaro, le 7 jan 2008 à 11:00:12

Slt
svp je veux savoir est ce qu je peux heriter de JFrame et JPanel en meme temps.
merci bp.

Répondre à bellaro

11

pad-de-pseudo, le 28 mar 2008 à 12:18:50

Bjr;
svp je savoir si ma methode ajoutVector est juste sachant que je veux mettre les objets des trois classes " Livre , Cd et Periodique" dans un tableau " Vector vect" ?


public class BibVector {

private Vector vect;

public BibVector(Vector vect)
{
super();
vect = new Vector(3);
}
public void ajoutVector( Livre livre , Cd cd , Periodique perio)
{
this.vect.add ( livre);
this.vect.add(cd) ;
this.vect.add( perio);


}
}
merci d'avance

Répondre à pad-de-pseudo