Programmation Objet Java

Fermé
nicotoy3 - 19 avril 2008 à 19:49
UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 - 21 avril 2008 à 15:39
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
A voir également:

3 réponses

UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
21 avril 2008 à 10:53
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)
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 122
21 avril 2008 à 11:15
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
UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
21 avril 2008 à 15:39
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