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 :

petite question sur l'héritage et les cast


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 11
    Points
    11
    Par défaut petite question sur l'héritage et les cast
    Bonjour a tous,

    je suis debutant en java, actuellement en iut, et je me pose une question :
    je possede une classe Demande qui possede un type et une methode renvoyant ce type puis trois classes : Declaration, Reclamation et Remboursement, sous-classes de Demande avec pour attribut :
    Declaration > une chaine de caractere
    Reclamation > une chaine de caractere
    Remboursement > une entier

    j'aimerais savoir, si dans une file de Demande, j'insere une declaration, ou bien une reclamation ou bien un remboursement, est ce que je peux, plus tard dans mon programme tester de la maniere suivante, si ce que je retire de la file, est une declaration, ou une reclamation ou un remboursement.
    je vous pose la question car ça ne me parait pas "propre" du tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Demande d = Accueil.fileDemandes.pop();
    if (d.getType() == 1){
    Declaration uneDeclaration = (Declaration)d;
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Demande d = Accueil.fileDemandes.pop();
    if (d instanceof Declaration){
    Declaration uneDeclaration = (Declaration)d;
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    merci beaucoup pour votre réponse

    J'aurais également aimé savoir si on a le droit d'écrire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	int typeRecu = Integer.parseInt(in.readLine());
    	if (this.type == typeRecu && typeRecu == 1){
    		Declaration uneDeclaration = (Declaration) sin.readObject();
    		Traitement.fileDeclaration.push(uneDeclaration);
    				}
    en admettant que l'on recoive (via une communication client/serveur) un objet serialisé de type Demande, et que l'on est sûr (grace a la methode getType de la classe parente Demande) de son "sous type", peut on "caster" l'objet serialisé que l'on recoit de cette maniere ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Declaration uneDeclaration = (Declaration) sin.readObject

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Salut,

    Je te conseille de récupérer un objet du type de ta classe mère, et ensuite, en fonction de la sous-classe que tu as repéré via un instanceof, d'appeler la méthode de traitement que tu souhaites appliquer à l'objet.

    A+

Discussions similaires

  1. [Débutant] Petite question sur l'héritage
    Par takinelinfo dans le forum C#
    Réponses: 7
    Dernier message: 22/06/2011, 16h16
  2. Petite question sur l'héritage
    Par Ydalb dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 15/07/2009, 17h08
  3. Petite question sur les héritages?
    Par razonback dans le forum C++
    Réponses: 4
    Dernier message: 15/02/2009, 15h13
  4. Réponses: 2
    Dernier message: 28/07/2007, 01h21

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