rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Heritage java

Posté par Lo, le vendredi 18 juillet 2003 à 11:49:54
Si la class B herite de la class A est il possible de transformer un objet de la class B en un objet de la class A, afin qu'il perde les informations de la class B ?

Merci
Répondre à Lo  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Samya, le vendredi 18 juillet 2003 à 12:02:06
suppose une classe planete et une classe planete_gazeuse et planete_nongazeuse qui heritent de la classe planete.

une planete peut etre gazeuse mais pas forcément
alors qu'une planète gazeuse ou non_gazeuse est forcément une planete

donc oui tu peux caster ta classe B qui hérite de A en un objet A, tu fais
B b(...);
(A)b;
Répondre à Samya

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dezbao, le vendredi 18 juillet 2003 à 12:09:33
Si B hérite de A, peux-tu caster un objet B en un objet A? C'est plutôt le contraire...
Quel est ton avis?
Répondre à dezbao

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Samya, le vendredi 18 juillet 2003 à 12:11:21
ben non justement l'inverse n'est pas possible
c pour ca ke g illustrer mon exemple avec les planètes !!!
Répondre à Samya

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dezbao, le vendredi 18 juillet 2003 à 12:02:22
Il faut redefinir les méthodes de la classe héritée (A) dans la classe qui hérite (B).
Répondre à dezbao

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dezbao, le vendredi 18 juillet 2003 à 12:05:55
J n'avais pas bien compris la question...
Répondre à dezbao

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lo, le vendredi 18 juillet 2003 à 12:14:55
Merci pour les réponses, pour être plus clair :


public class Planete {
...
public void print(){
System.out.println(" je suis une planete ");
}
}

public class PlaneteGazeuse extend Planete {
...
public void print(){
System.out.println(" je suis une planete gazeuse");
}
}


Je voudrais pouvoir faire :

PlaneteGazeuse g = new PlaneteGazeuse();

et ensuite convertir g en Planete de facon a ce que g.print() affiche " je suis une planete" et plus generalement de maniere a
ce que g soit reelement d'instance Planete . Ce qui ne marche pas avec un simple cast ... Apparament il y a des techniques d'upcast mais je n'ai pas encore tout compris.
Répondre à Lo

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Samya, le vendredi 18 juillet 2003 à 12:19:34
ok
y a un autre moyen mais laisse moi le temps de m'en souvenir
Répondre à Samya

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dezbao, le vendredi 18 juillet 2003 à 12:29:03
Tu mets dans le constructeur de la classe Planete tu mets ta chaine caracteres "je suis une planete ", et ensuite dans le constructeur de la classe PlaneteGazeuse tu appelles le constrcture de la classe heritée en faisant " this.super().
Cette methode te renvoie la chaine de carctère de la classe héritée.

En faisant PlaneteGazeuse pl=new PlaneteGazeuse (), ====> "je suis une planete ".
Répondre à dezbao

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dezbao, le vendredi 18 juillet 2003 à 12:40:14
Tu fais tout simplement : super.print()
et c'est réglé!!!!
Répondre à dezbao

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Lo, le vendredi 18 juillet 2003 à 13:09:24
Effectivement ca marche, mais ca ne me suffit pas car je voudrais que l'objet devienne reelement et uniquement un objet de la classe mère.

Il y aurait une technique qui serait de passer par le constructeur de la classe mère ( creer un nouvel objet mère et lui reaffecter tous les attributs de l'objet fils ) mais qui est un peu fastidieux et lourd si le nombre d'attributs est important.

Apparement c'est assez compliqué ou impossible de faire ca plus simplement ...
Répondre à Lo

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Samya, le vendredi 18 juillet 2003 à 13:39:10
tu me construire l'objet fille a partir de l'objet mere en utilisant de la meme manière que précédemment le mot clé super :
public PlaneteGazeuse(Att1, Att2, Att3){
super(att1, att2);
...
}
Répondre à Samya
Discussions pertinentes trouvées dans le forum
04/12 10h43Heritage JavaScript avec prototype.js1
18/07 11h49Heritage java11
10/06 16h13Héritage java1
07/06 22h14C++ et java suportent-il l'héritage multiple?1
28/05 19h19Java collection et héritage7
Plus de discussions sur « héritage en java »
Logiciels pertinents trouvés dans les téléchargements
Télécharger Web Developer Toolbar 1.1.6Web Developer Toolbar - WebDeveloper est une extension firefox représentant une formidable boîte à outils pour examiner et manipuler les pages...Catégorie: Extensions Firefox
Licence: Freeware/gratuit
Télécharger Java Runtime Environment 6 Update 7Java Runtime Environment - Java Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des...Catégorie: Java
Licence: Open Source
Télécharger Azureus 3.0.5.2bAzureus - Azureus est un client BitTorrent multiplateformes développé en Java, c'est-à-dire un gestionnaire de téléchargement de...Catégorie: Téléchargement
Licence: Open Source
Télécharger FreeMind 0.8.1FreeMind - FreeMind est un logiciel de Mind mapping entièrement libre, permettant de créer des cartes heuristiques permettant de...Catégorie: Organisation
Licence: Open Source
Plus de logiciels gratuits sur « héritage en java »