IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Downcasting ou copie a travers un heritage ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut Downcasting ou copie a travers un heritage ?
    Bonjour,

    J'ai une class B qui herite de class A. A cote de ca j'ai une collection d'objets de classe A, et j'aimerais pouvoir initialiser des objets de classe B a partir des objets de cette collection, du genre :
    B objB = (B) maCollection.get(i);
    Sachant que maCollection.get(i) renvoie donc un objet de la classe mere : A.
    C'est une sorte de cast, ou de copie entre un objet de classe mere et un objet de classe fille.

    Comment c'est-il possible de faire ca dis donc ?

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Ce que tu veux faire donne une ClassCastException .
    Sinon, pourquoi voudrais tu récupérer une instance de A dans B ? ça sert absolument à rien, c'est l'autre sens qui est intéressant ?

    Bref, je ne comprends pas bien la chose, un peu plus de détails ne serait pas de refus !

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Je cherche a mettre ma propre couche sur une API deja existante (JFreeChart).
    Pour cela j'ai besoin des fonctionalites developpees dans l'API seulement j'ai egalement besoin d'ajouter mes propres attributs, mes classes heritent donc de classes deja presentes dans l'API.
    Le probleme se situe particulierement au niveau des proprietes des axes (classe NumberAxis de JFreeChart), JFreeChart permet de creer des graphiques simplement a partir d'un ensemble de points puis il se debrouille pour bien ajuster les axes (labels, tailles...) en fonctions de ces points.
    je voudrais donc recuperer les axes avec les parametres bien ajustes et les incruster dans ma classe (qui herite de NumberAxis). Il existent des fonctions qui me renvoient les axes, donc j'arrives a avoir les objets NumberAxis.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Tu peux toujours créer un constructeur dans ta classe qui prend un Axe comme paramètre, et ensuite recopier ce qui t'intéresses
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public class TonPropreAxe extends NumberAxis{
      public TonPropreAxe(NumberAxis numberAxis){
        this.unChamp = numberAxis.unChamp;
        this.unAutreChamp = numberAxis.unAutreChamp;
        :
        :
      }
    }
    C'est ça ?

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut
    Ouais c'est ca, j'esperais une methode un peu moins violente.
    Merci pour ton aide, mais que faire des champs a acces prives ?

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    S'ils n'offrent pas de getters, alors je ne vois pas comment tu pourras les récupérer ...

    Si par contre ils ont les getters, tu peux évidemment passer par ces getters !

Discussions similaires

  1. Copie impossible à travers le réseau
    Par bvsud dans le forum Delphi
    Réponses: 2
    Dernier message: 27/05/2015, 14h34
  2. Automatiser une copie à travers VPN et TS
    Par PhunkyBob dans le forum Sécurité
    Réponses: 1
    Dernier message: 14/02/2011, 13h33
  3. Réponses: 13
    Dernier message: 02/03/2007, 14h43
  4. [Diag de classes] heritage à travers paquetages ?
    Par Invité dans le forum Diagrammes de Classes
    Réponses: 8
    Dernier message: 25/05/2005, 08h15
  5. [C++]Heritage et constructeur de copie
    Par matazz dans le forum C++
    Réponses: 2
    Dernier message: 25/03/2005, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo