Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1203 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  besoin d'explication sur l'héritage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

besoin d'explication sur l'héritage

n°266858
Roco
Posté le 11-12-2002 à 01:12:30  profilanswer
 

Salut!
 
1/ Je voudrais savoir si "public interface" sert bien à définir une classe abstraite.
 
Avant je me contentais d'écrire une classe normale, puis ses dérivées, mais bon je pense que ct pas terrible avec un peu de recul.
 
De plus la définition d'une classe abstraite (si j'ai bien compris) avec "public interface" me fait vraiment penser au .h du C++. Y'a-t-il un lien de parenté?
 
2/ Je voudrais aussi savoir si quelqu'un peut m'expliquer clairement la différence entre "implements" et "extends".
 
Thx et ++ les dév!


---------------
[:roco] Un chtit café et hop ça repart !
mood
Publicité
Posté le 11-12-2002 à 01:12:30  profilanswer
 

n°266923
darklord
You're welcome
Posté le 11-12-2002 à 10:12:42  profilanswer
 

1/ Non public interface te sert à déclarer une interface. Si tu veux déclarer une classe abstraite c'est "public abstract class" que tu dois utiliser.
 
pour C++ je ne m'avance pas plus bien que je dirai à priori oui (mais pour interface pas classe abstraite).
 
 
2/ Une interface c'est un contrat. Si tu veux implémenter une interface (implements) tu dois implémenter toutes les méthodes définies dans l'interface de sorte que tu peux passer la définition de l'interface dans tes signatures et filer au runtime un des implémentations. Une classe abstraite est une classe qui définit un certain nombre de méthodes mais que tu ne peux pas instancier. Typiquement tu peux avoir le comportement suivante:
 
Interface Server
Classe abstraite AbstractServer (implements Server)
Classes XServer, YServer (extends AbstractServer)
 
Dans AbstractServer tu définis tout ce qui va etre commun aux deux type de serveur et tu le fais abstract pour ne pas qu'on puisse l'instancier (puisque tu dois encore spécialier). XServer et YServer vont implémenter les autres méthodes pour le comportement X et Y
 
 
Donc implements c'est pour une interface et tu dois implémenter toutes les méthodes. extends c'est pour une classe et tu peux spécialiser (ajouter des méthodes, redéfinir une méthode existante).
 
est ce clair?


---------------
Just because you feel good does not make you right
n°268000
Roco
Posté le 12-12-2002 à 13:03:56  profilanswer
 

Thx Dark!
 
++ (pense à me rappeller sur MSN)


---------------
[:roco] Un chtit café et hop ça repart !
n°268007
BifaceMcLe​OD
The HighGlandeur
Posté le 12-12-2002 à 13:21:09  profilanswer
 

En C++, le concept d'interface tel qu'on l'entend en Java n'existe pas. Mais on peut le simuler.
Pour simplifier, une interface, c'est une classe abstraite qui n'a aucun attribut et dont toutes les méthodes sont abstraites (on dit "virtuelles pures", en C++).

n°268029
darklord
You're welcome
Posté le 12-12-2002 à 13:39:23  profilanswer
 

Roco a écrit :

++ (pense à me rappeller sur MSN)


 
 :??:


---------------
Just because you feel good does not make you right

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  besoin d'explication sur l'héritage

 

Sujets relatifs
[C++] besoin d'une petite aideBesoin d'un pro? : Problème de regexp (résolu)
besoin d'aide sur arbre binaire[PHP&Flash] Besoin d'infos
probleme de cast dynamique avec heritage etccss, j'ai besoin d'un peu d'aide
Problème d'héritage[Fork] Gestion des childs - Besoin d'aides :)
Besoin d'aide aupres des utilisateurs d'Advanced Poll (déséspéré!)[Excel] besoin d'aide pour formule de recherche
Plus de sujets relatifs à : besoin d'explication sur l'héritage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR