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

avec Java Discussion :

Accès aux attributs propres à une classe fille


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Accès aux attributs propres à une classe fille
    Bonjour !

    J'ai une classe mère nommée Creature et une classe fille Cheval. Dans une classe Jeu, je crée une variable "animal" de type Creature. la variable animal récupère tous les attributs de la classe Cheval entrées par l'utilisateur de l'application. Afin d'accéder aux attributs, j'écris ceci . Cela fonctionne. Mais pour accéder à la variable spécifique à la classe fille, "caractéristique", je n'y parviens pas. Comment accéder à un attribut spécifique à une classe fille ?
    Je poste un bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public abstract class Creature 
    {	private String nom_creature ;
    	private int age ;
    	private String type_creature ;
            [...]
    }
     
    public class Cheval extends Creature 
    {
    	private String caracteristique ;
            [...]
    }
     
    public class Jeu
    {    
           [...]
    	static Creature animal=null;//
           [...]
            animal.getAge();
    }
    Merci pour votre aide !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Casting!
    Salut!

    animal étant de type Creature, il faudrait pour accéder à ta propriété caractéristique plutôt caster comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((Cheval)animal).getCaracteristique();
    s'il existe plus d'une classe qui hérite de Creature dans ton projet. Il serait plutôt jusdicieux de tester le type d'object dynamiquement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(animal instanceof Cheval)  {
        ((Cheval)animal).getCaracteristique();
    }
    Au plaisir

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut yeah !
    Salut fictou, jte remercie pour ta réponse très claire, tu as résolu mon problème, ça marche. bonne journée !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Accès aux attributs d'une classe
    Par stracoma dans le forum VB.NET
    Réponses: 9
    Dernier message: 17/05/2015, 22h10
  2. Accès aux attributs d'une autre classe
    Par alexmam15 dans le forum Débuter
    Réponses: 5
    Dernier message: 25/02/2011, 09h26
  3. [PHP 5.3] Empêcher l'accés aux attributs d'une classe ?
    Par tintin72 dans le forum Langage
    Réponses: 1
    Dernier message: 20/08/2010, 14h58
  4. Réponses: 38
    Dernier message: 16/02/2005, 02h03
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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