Rechercher : dans
Par :

Heritage java

Dernière réponse le 18 jui 2003 à 13:39:10 Lo, le 18 jui 2003 à 11:49:54 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « heritage java » dans :
Java - L'héritage Voir La notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...
Java Voir Histoire de Java Java est un langage objet ressemblant au langage C++. Il a été mis au point en 1991 par la firme Sun Microsystems. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré dans les appareils...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
Supprimer les anciennes versions de Java avec JavaRa VoirJavaRa A propos de la gestion des machines virtuelles Java Présentation de JavaRa Exemple de rapport émis par JavaRa A propos de la gestion des machines virtuelles Java Pour des mises à jour ciblées de java Sun a finalement donné une...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Héritage et polymorphisme VoirHéritage et polymorphisme La notion d’héritagexe "héritage" est très facile à comprendre. En C++, on dit qu’une classe définie à partir d’une classe existante et à laquelle on ajoute une fonctionnalité dérive de la classe initiale. Cette dernière...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...

1

Samya, le 18 jui 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

dezbao, le 18 jui 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

Samya, le 18 jui 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

dezbao, le 18 jui 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

dezbao, le 18 jui 2003 à 12:05:55

J n'avais pas bien compris la question...

Répondre à dezbao

6

Lo, le 18 jui 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

Samya, le 18 jui 2003 à 12:19:34

Ok
y a un autre moyen mais laisse moi le temps de m'en souvenir

Répondre à Samya

8

dezbao, le 18 jui 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

dezbao, le 18 jui 2003 à 12:40:14

Tu fais tout simplement : super.print()
et c'est réglé!!!!

Répondre à dezbao

10

Lo, le 18 jui 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

 Samya, le 18 jui 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