Java : constructeurs, help !

Résolu/Fermé
Wenzel Messages postés 225 Date d'inscription samedi 7 mars 2009 Statut Membre Dernière intervention 20 novembre 2012 - 4 oct. 2009 à 11:29
 Utilisateur anonyme - 28 oct. 2009 à 19:19
Bonjour,
Je suis en train d'apprendre le et je ne comprend pas comment fonctionnent les constructeurs, je m'explique dans un exemple :

nous avons définis en cours une UnPoint suivie d'une classe Unrectangle comme suit :

class UnPoint {
int abscisse,ordonnee;

UnPoint () {
this.abscisse = 0;
this.ordonnee = 0;
}

void translation (int dx ,int dy) {
this.abscisse = this.abscisse + dx;
this.ordonnee = this.ordonnee + dy;
}

}
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class Unrectangle {
UnPoint coin;
int largeur;
int hauteur;

Unectangle () {
coin = new UnPoint();
largeur = 1;
hauteur = 1;
}
}

seulement que se passe-t-il si je met un nouveau constructeur UnRectangle comme ceci ?

UnRectangle () {
coin = new UnPoint (13);
largeur = 1;
hauteur = 1;
}
A voir également:

7 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
4 oct. 2009 à 13:13
Bonjour,
Tu vas avoir une erreur de compilation car tu n'as pas défini de constructeur
public Point(int i) {
//Do something
}


Par contre, si tu définis ce constructeur dans Point, ça va fonctionner.

Cordialement,
0
Utilisateur anonyme
4 oct. 2009 à 20:33
Salut,

Un constructeur (ou des constructeurs) doit (doivent) avoir LE MÊME NON QUE LA CLASS.

S'il y a plusieurs constructeurs (surcharge):

Le compilateur distingue les constructeurs en fonction
- de la position des arguments
- de leur nombre
- de leur type

Cordialement,

Dan
0
Wenzel Messages postés 225 Date d'inscription samedi 7 mars 2009 Statut Membre Dernière intervention 20 novembre 2012 14
4 oct. 2009 à 21:10
merci, ca va dejà mieux ^^
0
nabil07 Messages postés 140 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 10 avril 2014 64
4 oct. 2009 à 21:16
KONNICHIWA,

tu ne peux pas ajouter deux constructeur de meme structure
il faut mettre au moins un sans parametres et l'autre paramétré " UnRectangle(int arg){..}.
sinon tu auras une erreur de compilation.
0
Utilisateur anonyme
4 oct. 2009 à 21:37
Salut,

On peut avoir autant de constructeurs que nécessaire tous de même non (celui de la classe), avec ou sans paramètres, pour autant il est vrai que la structure soit différente (nombre de param., type, position)...

Cordialement,

Dan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Wenzel Messages postés 225 Date d'inscription samedi 7 mars 2009 Statut Membre Dernière intervention 20 novembre 2012 14
28 oct. 2009 à 15:49
Voilà que le java est plus clair pour moi au niveau des constructeurs, j'ai reussi a comprendre sa structure, avec ses classes en privées ou publiques, qui agissent entre ellesz avec des méthodes...

Merci a tous pour vos réponses !

la seule matière qui me fasse encore peur est l'algorithmie:
je n'arrive a faire aucun exo du cours et le devoir est dans une semaine...

Quelles sont vos méthodes pour créer un algorithme a partir d'un sujet ? Comment faisiez vous lorsque vous étiez étudiant en informatique (comme moi ^^) pour résoudre un problème en faisant un algorithme ?
0
Wenzel Messages postés 225 Date d'inscription samedi 7 mars 2009 Statut Membre Dernière intervention 20 novembre 2012 14
28 oct. 2009 à 15:49
Voilà que le java est plus clair pour moi au niveau des constructeurs, j'ai réussi a comprendre sa structure, avec ses classes en privées ou publiques, qui agissent entre elles avec des méthodes...

Merci a tous pour vos réponses !

la seule matière qui me fasse encore peur est l'algorithmique:
je n'arrive a faire aucun exo du cours et le devoir est dans une semaine...

Quelles sont vos méthodes pour créer un algorithme a partir d'un sujet ? Comment faisiez vous lorsque vous étiez étudiant en informatique (comme moi ^^) pour résoudre un problème en faisant un algorithme ?
0
pacorabanix
28 oct. 2009 à 18:16
je n'ai pas été étudiant en informatique, mais, la première choses à faire, maintenant que tu vois un peu ce qu'un programme peut faire, c'est essayer de faire toi-même (devant une feuille de papier) ce que tu demandes à l'ordinateur.

Une fois que tu as bien compris toi-même comment faire les choses tu peux traduire ça en des boucles, if, etc...


NOTE : un très bon cours de Java (de bon niveau, mais destiné à ceux qui n'y ont jamais touché) est : Data Structures de l'université de Berkeley sur Youtube. Cherche la "Chaîne" Berkeley University, là ils ont une playlist "Data Structures fall" (fall = automne). Si tu comprends un peu l'anglais tu verras je trouve que le gars explique très bien, et il écrit plein de choses au tableau.
0
Utilisateur anonyme
28 oct. 2009 à 19:19
Re,

À propos des constructeurs. il faut savoir que toute classe possède au moins un constructeur même si la classe ne dédéfinit pas explicitement de constructeur: c'est le constructeur par défaut sans arguments et qui n’effectue aucune initialisation particulière qui sera invoqué.
Exemple:

LaClasse monObjet; // déclaration
monObjet = new LaClasse(); // création et allocation mémoire


On peut dire que les constructeurs sont des méthodes particulières implicitement void et qui portent le même nom que la classe.
On les distingue immédiatement dans les listes des programmes SI ON À RESPECTÉ LA RÈGLE DE NOMMAGE DES CLASSES (le nom des classes commence par une MAJUSCULE) alors que les méthodes ont un nom qui commence par une minuscule Ex : maMethode() ou mieux le nom commence par un verbe à l'infinitif et en minusclues Ex. faireLecalculDe...(...)

Ici nom de la classe LaClasse et nom du constructeur LaClasse()

Dan
0