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 :

Explications simple méthode


Sujet :

avec Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Explications simple méthode
    Bonjour à tous,

    Je début en Java et je n'arrive pas a trouver une réponse simple a ma question, je me permet donc de vous solliciter.

    J'ai donc une classe addresse toute simple :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    package app;
     
    //default constructor 
    public class Adresse {
     
    	protected String numeroEtRue;
    	protected String codePostal;
    	protected String ville; 
     
    public Adresse (String nEr, String cP, String v) {
     
    	numeroEtRue=nEr;
    	codePostal=cP;
    	ville=v;
     
    }
    //getters and setters
    public void setAdresse(String nER, String cP, String v) {
    	this.numeroEtRue=nER;
    	this.codePostal=cP;
    	this.ville=v;
    }
     
    public void setNumeroEtRue(String nER) {
    	this.numeroEtRue = nER;
    }
     
    public String getNumeroEtRue() {
    	return numeroEtRue;
    }
    public String getCodePostal() {
    	return codePostal;
    }
    public String getVille() {
    	return ville;
    }
    public void setCodePostal(String cP) {
    	this.codePostal = cP;
    }
     
    protected void setVille(String v) {
    	this.ville = v;
    }
     
    }
    J'ai aussi une classe entreprise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package ent;
    import app.Adresse;
     
    public class Entreprise {
        String nom;
     
    public Entreprise (String x)
     
            nom=x;
     
    }
    J'aimerais en faite utiliser la méthode de ma classe adresse dans ma classe entreprise pour que celle ci est une adresse, sans avoir besoin de tout redéfinir.

    Je n'attends pas une réponse toute faite de votre part, mais un simple aiguillage, je désire comprendre.

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 76
    Points : 48
    Points
    48
    Par défaut
    salut,

    si je me trompe pas,

    en creant une ref adresse ds ta classe entreprise.

    un truc ds la genre dans la classe entreprise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public Adresse nomDeVariableQueTuVeux;
    // tu peux laisser comme ca ou la declarer null
    et ensuite tu dois pouvoir utiliser ta methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nomDeVariableQueTuVeux.getVille(); // par exemple
    Essaye.
    je ne peux pas t'en dire +

    areuh

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je vais essayer d'être plus explicite

    Ok donc ceci est ma classe Entreprise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    package app;
     
    public class Entreprise extends Activite {
     
    	protected Entreprise(String n, String p) {   
    		super(n, p);
    	}
     
    }
    Que dois-je rajouter a mon constructeur pour le faire avoir automatiquement une adresse sachant que j'ai une méthode du genre dans ma classe adresse:

    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
    package app;
     
    //default constructor 
    public class Adresse {
     
    	protected String numeroEtRue;
    	protected String codePostal;
    	protected String ville; 
     
    public Adresse (String nEr, String cP, String v) {
     
    	numeroEtRue=nEr;
    	codePostal=cP;
    	ville=v;
     
    }
    //setters
    public void setAdresse(String nER, String cP, String v) {
    	this.numeroEtRue=nER;
    	this.codePostal=cP;
    	this.ville=v;
        }
    }

  4. #4
    Membre averti Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Points : 379
    Points
    379
    Par défaut
    Bonsoir,

    si j'ai bien compris ce que tu veux:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    package app;
     
    public class Entreprise extends Activite {
     
            private Adresse addrEntr;
     
    	protected Entreprise(String n, String p, Adresse a) {   
    		super(n, p);
       	        addrEntr = a;
    }

    où dès que tu crées une nouvelle entreprise, l'adresse que tu passes en paramètre est l'adresse de cette entreprise:

    genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Entreprise x = new Entreprise(n,p,new Adresse("Rue xxx","10000","Bruxelles"));

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The method setAdresse(Adresse) is undefined for the type Entreprise
    J'ai toujours cette erreur

  6. #6
    Membre averti Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Points : 379
    Points
    379
    Par défaut
    mais tu ne dois pas appliquer setAdresse sur une isntance d'entreprise mais bien bien sur l'attribut addreEntr d'Entreprise qui est lui du type adresse

  7. #7
    Membre habitué Avatar de titourock
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 156
    Points : 190
    Points
    190
    Par défaut
    Bonjour,

    Pourquoi ne mets-tu pas dans ta classe Entreprise un attribut "nom" (type primitif) et un attribut "adresse_entreprise" (objet de type Adresse).

    Ce qui me paraît cohérent vu que tu crées justement une classe spécifiquement pour les adresses.
    Ta classe sera donc composée :

    -d'un nom
    -d'un objet de type Adresse dans lequel tu pourras utiliser ta méthode setAdresse.

    Fais attention, quand tu appelleras cette méthode, tu ne dois pas l'appeler pour l'objet entreprise mais pour l'objet adresse de l'objet entreprise.

    J'espère que ça répond à ta question.

  8. #8
    Membre averti Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Points : 379
    Points
    379
    Par défaut
    c'est ce que je disais

  9. #9
    Membre habitué Avatar de BlackWood
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 167
    Points : 169
    Points
    169
    Par défaut
    En fait c'est ton SetAdresse(...) qui est incorrect. Enfin... Mal placé en tout cas, car mis dans Adresse, c'est l'équivalent d'un new Adresse(...) et donc inutile.

    Tu as défini un nouveau type : Adresse (tout comme un int ou une String).
    Il faut donc l'utiliser comme tel.
    Ton SetAdresse(...) doit se trouver dans Entreprise (vu que c'est un de ses attributs!) et avoir "de préférence" comme paramètre une Adresse.
    Tout comme si elle avait un int nbEmployes, elle aurait un setInt() (enfin, setNbEmployes pour etre plus précis).
    Et puis, entreprise.setAdresse() parait bien plus logique qu'un adresse.setAdresse(), non ?

    Classe Adresse :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // constructor
    public class Adresse {
     
    	protected String numeroEtRue;
    	protected String codePostal;
    	protected String ville;
     
    public Adresse (String numeroEtRue, String codePostal, String ville) {
     
    	this.numeroEtRue = numeroEtRue;
    	this.codePostal = codePostal;
    	this.ville = ville;
     
    }
    //getters and setters
    public void setNumeroEtRue(String numeroEtRue) {
    	this.numeroEtRue = numeroEtRue;
    }
    public void setCodePostal(String codePostal) {
    	this.codePostal = codePostal;
    }
    public void setVille(String ville) {
    	this.ville = ville;
    }
    public String getNumeroEtRue() {
    	return numeroEtRue;
    }
    public String getCodePostal() {
    	return codePostal;
    }
    public String getVille() {
    	return ville;
    }
    }
    Classe Entreprise :
    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
    package app;
     
    public class Entreprise extends Activite {
     
            private Adresse adresse;
     
    	protected Entreprise(String n, String p, Adresse adresse) {   
    		super(n, p);
       	        this.adresse = adresse;
    	}
     
    	public void setAdresse(Adresse adresse) {
    		this.adresse = adresse;
    	}
    	// ou/et
    	public void setAdresse(String numeroEtRue, String codePostal, String ville) {
    		this.adresse = new Adresse(numeroEtRue,codePostal,ville);
    	}
     
    	public Adresse getAdresse() {
    		return adresse;
    	}
    }

Discussions similaires

  1. Une explication simple de Dijkstra ..
    Par pierre1256 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2007, 09h35
  2. [multisampling] cherche explication simple
    Par jcloupgarou dans le forum OpenGL
    Réponses: 55
    Dernier message: 21/12/2006, 15h57
  3. [JDOM] Besoin explication de méthodes
    Par calimero2611 dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 10/07/2006, 10h32
  4. [C#] ViewState. Enfin une explication simple ?
    Par slopera dans le forum ASP.NET
    Réponses: 23
    Dernier message: 27/01/2006, 16h34

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