Programmation Objet Java

Bonsoir à tous !

J'ai besoin de votre aide concernant la programmation objet en Java...

Voilà un exemple illustrant ma question :

class Voiture {

//Attributs
private String marque ;
private int annee ;
private String couleur ;

//Constructeurs
Voiture() {
marque="Peugeot" ;
annee=1996 ;
couleur="rouge" ;
}

VoitureBis() {
this.marque="Peugeot" ;
this.annee=1996 ;
this.couleur="rouge" ;
}

Quelle est la différence entre les deux constructeurs ???
Pourquoi inclure un "this" dans les constructeurs et méthodes de la classe ????

Par avance, merci de vos réponses.

Nicotoy3
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. re tarek_dotzero ça va de soit que le constructeur a le meme non que la classe et sans type de retour!
    je crois que nicotoy3 veut savoir à quoi sert le this!
    bein sinon un constructeur doit
    1- avoir le nom de la classe
    2- sans type de retour
    3- les règles de surcharges s'appliquent sur le constructeur
    pas de
    voiture()
    {
    marque = "machin";
    }
    voiture()
    { num =99999;
    }
    1. Salut,

      Le deuxième constructeur doit vous générer une erreur pendant la compilation de genre "Ereur dans la déclaration d'une méthode: type de retour non défini".

      Le construteur doit porter le même nom de la classe sinon il sera concédéré comme une méthode.
      1. il n'y a aucune différence !
        Voiture() {
        marque="Peugeot" ;
        annee=1996 ;
        couleur="rouge" ;
        } // this est implicite ici
        VoitureBis() {
        this.marque="Peugeot" ;
        this.annee=1996 ;
        this.couleur="rouge" ;
        } //this est explicite

        d'une façon générale tu peux le omettre 'this' sauf dans un cas tres précis qui est

        dans un cas d'héritage, un attribut avec le meme nom existe dans une des classe meres
        pour modifier l'attribut de la classe mere tu agis avec super
        pour modifier l'attribut de la classe en cours utiliser this(ou tu peux le omettre mais pour des raisons de visibilité il est conseille du'tiliser ce mot clef)