Rechercher : dans
Par :

Programmation Objet Java

Dernière réponse le 21 avr 2008 à 15:39:02 nicotoy3, le 19 avr 2008 à 19:49:05 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Programmation Objet Java » dans :
Introduction à la programmation orientée objet VoirUn nouveau concept de développement Extrait de « Au coeur de ActiveX et OLE », de David Chappel "Au cours des 35 dernières années, les concepteurs de matériel informatique sont passés de machines de la taille d'un hangar à des ordinateurs...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java: Les méthodes VoirLa notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...

1

UaLShark, le 21 avr 2008 à 10:53:17

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)

Répondre à UaLShark

2

tarek_dotzero, le 21 avr 2008 à 11:15:07

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.

Répondre à tarek_dotzero

3

 UaLShark, le 21 avr 2008 à 15:39:02

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;
}

Répondre à UaLShark