Explications simple méthode

Explications simple méthode - Java - Programmation

Marsh Posté le 06-12-2008 à 19:47:16    

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 :
  1. package app;
  2. //default constructor  
  3. public class Adresse {
  4. protected String numeroEtRue;
  5. protected String codePostal;
  6. protected String ville;
  7. public Adresse (String nEr, String cP, String v) {
  8. numeroEtRue=nEr;
  9. codePostal=cP;
  10. ville=v;
  11. }
  12. //getters and setters
  13. public void setAdresse(String nER, String cP, String v) {
  14. this.numeroEtRue=nER;
  15. this.codePostal=cP;
  16. this.ville=v;
  17. }
  18. public void setNumeroEtRue(String nER) {
  19. this.numeroEtRue = nER;
  20. }
  21. public String getNumeroEtRue() {
  22. return numeroEtRue;
  23. }
  24. public String getCodePostal() {
  25. return codePostal;
  26. }
  27. public String getVille() {
  28. return ville;
  29. }
  30. public void setCodePostal(String cP) {
  31. this.codePostal = cP;
  32. }
  33. protected void setVille(String v) {
  34. this.ville = v;
  35. }
  36. }


 
J'ai aussi une classe entreprise:  
 

Code :
  1. package ent;
  2. import app.Adresse;
  3. public class Entreprise {
  4.     String nom;
  5. public Entreprise (String x)
  6.         nom=x;
  7. }


 
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.

Reply

Marsh Posté le 06-12-2008 à 19:47:16   

Reply

Marsh Posté le 06-12-2008 à 19:51:24    

Je pense que tu veux parler de l'héritage :
http://www.google.fr/search?q=h%C3 [...] =firefox-a
 
L'héritage consiste (en gros) à créer des "sous-objets" :
 
Objet mère -> Objet fille
 

Code :
  1. class Mother {
  2.    public int var;
  3.    protected int var2;
  4.    private int var3;
  5. }
  6.  
  7. class Daughter extends Mother {
  8.    /* var et var2 accessibles */
  9.    /* var3 inaccessible */
  10. }

Reply

Marsh Posté le 06-12-2008 à 19:57:43    

Je m'explique mieux,
 
J'ai une une classe Entreprise, et j'ai deja fait un extends pour la crée a partir d'une classe Activité.
 
J'ai aussi une classe Addresse qui définie une addresse.
 
Je sais que ne peu pas faire hériter de deux classe ma classe Entreprise.
 
Donc comment utiliser la méthode présente dans ma classe Adresse pour définir l'adresse de mon Entreprise?

Reply

Marsh Posté le 06-12-2008 à 20:22:53    


 
Sauf que ça a aucun sens ici vu que Adresse ne peut ni être la classe mère, ni la classe fille d'entreprise ... ça n'aurait aucun sens.
 
Punk'd> Ce que tu dois faire c'est créer un attribut "adresse" dans ta classe Entreprise. Ensuite pour allouer une adresse à ton entreprise  
 

Code :
  1. Adresse a = new Adresse(...);
  2. Entreprise e = new Entreprise("Dupont" );
  3. e.setAdresse(a);


 
De cette manière tu as accès à toutes les méthodes définissant Adresse et ça reste logique  :o
 


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 06-12-2008 à 22:25:39    

Citation :


Sauf que ça a aucun sens ici vu que Adresse ne peut ni être la classe mère, ni la classe fille d'entreprise ... ça n'aurait aucun sens.  


 
dommage [:sadnoir]

Reply

Marsh Posté le 06-12-2008 à 22:39:45    

Merci pour ces élement de réponses, je vais tester ca de suite!

Reply

Marsh Posté le 06-12-2008 à 23:16:12    

Ok donc ceci est ma classe Entreprise :
 

Code :
  1. package app;
  2. public class Entreprise extends Activite {
  3. protected Entreprise(String n, String p) { 
  4.  super(n, p);
  5. }
  6.  
  7. }


 
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 :
  1. package app;
  2. //default constructor  
  3. public class Adresse {
  4. protected String numeroEtRue;
  5. protected String codePostal;
  6. protected String ville;
  7. public Adresse (String nEr, String cP, String v) {
  8. numeroEtRue=nEr;
  9. codePostal=cP;
  10. ville=v;
  11. }
  12. //setters
  13. public void setAdresse(String nER, String cP, String v) {
  14. this.numeroEtRue=nER;
  15. this.codePostal=cP;
  16. this.ville=v;
  17.     }
  18. }


 
 :bounce:  :bounce:


Message édité par punk'd le 06-12-2008 à 23:19:26
Reply

Marsh Posté le 07-12-2008 à 11:42:20    

up :o

Reply

Marsh Posté le 07-12-2008 à 11:46:05    

Bon déjà 1, tu enlèves ta methode setAdresse qui ne sert strictement à rien.
Si tu veux faire des setters, fait en 1 par attribut.
 
Tu écris  

Code :
  1. Adresse adresse;
  2. protected Entreprise(String n, String p, Adresse a) {
  3. super(n, p);
  4. adresse = a;
  5. }


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-12-2008 à 12:09:23    

Ok, je fais cela, mais dans mon main quand je déclare une adresse j'ai cette erreur.
 

Code :
  1. The method setAdresse(Adresse) is undefined for the type Entreprise


 


Message édité par punk'd le 07-12-2008 à 12:10:11
Reply

Marsh Posté le 07-12-2008 à 12:09:23   

Reply

Marsh Posté le 07-12-2008 à 13:12:13    

:sweat:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-12-2008 à 13:25:38    

punk'd je crois qu'il va vraiment que tu reprennes les bases de Java ... parce que là ça devient grave..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-12-2008 à 13:32:09    

oui c'est que je fais acutellement, je relis des doc, d'ailleur si tu en connais des pas mal...

Reply

Marsh Posté le 07-12-2008 à 13:52:39    

http://www.mindview.net/Books/TIJ/  
 
Tu peux télécharger gratuitement Thinking in Java ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-12-2008 à 14:11:52    

;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed