Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
998 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Surchage, héritage et polymorphisme

n°1173652
tachag
Posté le 10-08-2005 à 02:10:58  profilanswer
 

Reprise du message précédent :
Ok voici mon message :
 
Bonjour,  
 
Alors, j'ai essayé de faire une surcharge.    
 
Ma question est : pourquoi lorsque je fais execute file, l'information n'apparaît pas?  
 
Je vous transmets seulement le code d'une classe :  
 
class Camion extends Vehicule  
{  
  // définition des attributs  
  String vitesse;  
  String couleur;  
 
  // Constructeur  
  Camion(String saMarque,String sonFonctionnement,String saVitesse, String laCouleur)  
  {  
   // Appel du constructeur de la classe de base: Vehicule  
   super(saMarque,sonFonctionnement);  
     
 
   vitesse=saVitesse;  
     
  }  
 
  // définition des méthodes  
  void getInformation()  
  {  
   System.out.println("" );  
   System.out.println("Information sur le camion:" );  
   System.out.println("Marque:" + marque);  
   System.out.println("Fonctionnement:" + fonctionnement);  
   System.out.println("Vitesse:" + vitesse);  
   System.out.println("" );  
  }  
 
 // Surcharge : Permet de définir dans la même classe plusieurs méthodes.  
  void getInformation(String laCouleur)  
  {  
     System.out.println("" );  
   System.out.println("Information sur la couleur du camion:" );  
   System.out.println("Couleur:" + couleur);  
   System.out.println("" );  
  }  
 
   
 
   
 
 }  // fin de la classe Camion

mood
Publicité
Posté le 10-08-2005 à 02:10:58  profilanswer
 

n°1173653
Taz
bisounours-codeur
Posté le 10-08-2005 à 02:16:42  profilanswer
 

tu donnes pas de main, alors je vois pas comment quoi que ce soit pourrait s'exécuter

n°1173655
tachag
Posté le 10-08-2005 à 02:22:24  profilanswer
 

Je dois avoir un main pour ma surcharge?
 
où dois-je le mettre?

n°1173659
push
/dev/random
Posté le 10-08-2005 à 02:35:22  profilanswer
 

ici ... et à mon avis t'as pas du bien comprendre si t'a rien changé à ton main, et essaye de mettre la balise [ code ] et [ /code ] (sans les espaces) quand tu postes du code sur le site

n°1173701
Profil sup​primé
Posté le 10-08-2005 à 09:35:25  answer
 

Oui voilà c'est un exemple de méthode surchargée. Cependant, c'est vraiment pas terrible comme code, tu fais une méthode qui affiche tous les attributs si aucun paramètre n'est passé, puis dans l'autre, tu affiche comme couleur la chaine de caractère passée en paramètre alors que cela devrait correspondre à l'attribut de la classe ( this.couleur )...
En gros si tu appelles la deuxième méthode comme suit :

Code :
  1. camion.getInformation("TOTO" );


Ca va t'afficher :  
"Information sur la couleur du camion:  
 Couleur: TOTO"
Ca me parait un peu absurde comme raisonnement, mais sachant que le sujet principal était la surcharge ...
 

n°1173703
Profil sup​primé
Posté le 10-08-2005 à 09:41:31  answer
 

Pour le main, tu le rajoute dans ta classe Camion ( on peut le mettre un peu où ça nous arrange en fait ... ) :

Code :
  1. public static void main(String [] args){
  2.   Camion c=new Camion("Ford","Diesel","100Km/h","Rouge" );
  3.   c.getInformation();
  4.   c.getInformation("Toto" );
  5.   c.getInformation("Vert" );
  6. }


Applique cette modification puis exécute, tu devrais comprendre par toi-même la remarque que j'ai faite précédemment concernant le "TOTO".
 
Une remarque : lorsque tu fais référence à des attributs de ta classe courante, mets toujours un "this." devant, cela n'est pas obligatoire mais évite bien des soucis notament lorsque l'on passe au polymorphisme...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
polymorphismetemplates et héritage
heritage de classesheritage - [résolu !]
[CSS] héritagePython for .NET et héritage
Delphi - Heritage et TForm[C++]Héritage de templates, g++ aime pas :(
HéritageHistoire d'heritage.
Plus de sujets relatifs à : Surchage, héritage et polymorphisme


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR