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 :

[POO] Ecrire une classe descendante


Sujet :

Langage Java

  1. #1
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 866
    Points : 4 866
    Points
    4 866
    Par défaut [POO] Ecrire une classe descendante
    Bonsoir

    Une petite question avant le week-end.
    J'ai écrit une classe fonctionnelle dont voici succinctement le 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
    22
    23
     
    public class Edge extends PPath implements PropertyChangeListener {
     
        static final int CONNECT_RIGHT  = 2;
        static final int CONNECT_BOTTOM = 1;
        protected int style = CONNECT_BOTTOM;
        protected Point2D sourcePoint;
        protected Point2D targetPoint;
        protected PNode source;
        protected PNode target;
        protected Point2D[] drawPoints = new Point2D[2];
     
        public Edge(PNode sourceNode, PNode targetNode) {
            super();
            this.source = sourceNode;
            this.target = targetNode;
            setStroke(new BasicStroke(1f));
            source.addPropertyChangeListener(this);
            target.addPropertyChangeListener(this);
            updateEdge();
        }
     
    //Bla bla!!!
    Je veux écrire une autre classe nommé CircleEdge qui descend de la première. J'ai donc écrit :
    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
    22
     
    public class CircleEdge extends Edge {
     
        static final int CONNECT_RIGHT  = 2;
        static final int CONNECT_BOTTOM = 1;
        protected int style = CONNECT_BOTTOM;
        protected Point2D sourcePoint;
        protected Point2D targetPoint;
        protected PNode source;
        protected PNode target;
        protected Point2D[] drawPoints = new Point2D[2];
     
        public CircleEdge(PNode sourceNode, PNode targetNode) {
            super();
            this.source = sourceNode;
            this.target = targetNode;
            setStroke(new BasicStroke(1f));
            source.addPropertyChangeListener(this);
            target.addPropertyChangeListener(this);
            updateEdge();
        }
    //Bla bla !!!
    L'ennui est que Eclipse (qui aujourd'hui a juré de m'emm...bêter) ne dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    The constructor Edge() is undefined
    Ké ????
    Où diantre me suis-je trompé ??
    Merci d'avance.

    @++

  2. #2
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    lors de l appel du constructeur de classe fille celle ci appele le constructeur par default de sa classe mere soit Edge() mais celui ci n est pas defini dans la classe Edge, il faut le declarer meme s il ne fait rien
    mais le mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Edge()
    {
       //fais appel au constructeur de superclass
       super();
    }
    voila

  3. #3
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 866
    Points : 4 866
    Points
    4 866
    Par défaut
    Oki

    Merci beaucoup BainE !

    @++

  4. #4
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    de rien ca fait toujours plaisir d aider un modo

  5. #5
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Un conseil, tu n'es pas obligé de redéfinir les attributs de la classe mère si ceux-ci sont déclarés en public, protected ou "package private" (pas de qualificateur) : c'est l'intérêt de l'héritage, la classe fille hérite des propriétés et méthodes de la classe mère (selon le critère de visibilité cité). Partant de là, ta classe fille se simplifie à outrance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class CircleEdge extends Edge { 
     
        public CircleEdge(PNode sourceNode, PNode targetNode) { 
            super(sourceNode, targetNode);
        }
     
    //Bla bla !!!

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

Discussions similaires

  1. [POO] POO pour une classe PDO
    Par nabab dans le forum Langage
    Réponses: 2
    Dernier message: 07/08/2007, 23h58
  2. Réponses: 3
    Dernier message: 27/04/2007, 14h51
  3. [POO] Compléter une classe existante
    Par poukill dans le forum C++
    Réponses: 5
    Dernier message: 07/03/2007, 13h28
  4. Ecrire une classe dans Ireport
    Par ramoucho17 dans le forum iReport
    Réponses: 1
    Dernier message: 01/02/2007, 23h36
  5. Réponses: 5
    Dernier message: 15/08/2006, 10h40

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