Extends et Implements et Interface
Résolu/Fermé
A voir également:
- Java extends interface
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Ubuntu sans interface graphique ✓ - Forum Linux / Unix
- Java décompiler - Télécharger - Langages
6 réponses
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
13 juin 2003 à 21:58
13 juin 2003 à 21:58
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
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
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.
....
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.
....
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
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
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.
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.
Bonjour
S'il vous plait j'aimerais savoir les differences qui existe entre une interface et une classe abstraite
S'il vous plait j'aimerais savoir les differences qui existe entre une interface et une classe abstraite
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
14 juin 2003 à 17:08
14 juin 2003 à 17:08
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
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
14 juin 2003 à 14:31
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
14 juin 2003 à 14:39
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?