Constructeur
kaizeur
-
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39986 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
je voudrai appeler un cnstructeur dans un autre mais je ne trouve pas la bonne instructions . par exemple
public Meuble (String description, int bois, int fini, int couleur, double prix) {
this.description = description;
this.bois = bois;
this.fini = fini;
this.couleur = couleur;
this.prix = prix;
}
public Meuble (String description, int bois, int fini, int couleur, int tiroir, int porte, int tablette,
double prix, boolean vendu, int hauteur, int profondeur, int largeur) {
this.Meuble(description, bois, fini, couleur, prix); // c'est ici au ça coince
this.hauteur = hauteur;
this.tablette = tablette;
this.vendu = vendu;
this.profondeur = profondeur;
this.largeur = largeur;
this.porte = porte;
this.tiroir = tiroir;
}
merci d'avance
je voudrai appeler un cnstructeur dans un autre mais je ne trouve pas la bonne instructions . par exemple
public Meuble (String description, int bois, int fini, int couleur, double prix) {
this.description = description;
this.bois = bois;
this.fini = fini;
this.couleur = couleur;
this.prix = prix;
}
public Meuble (String description, int bois, int fini, int couleur, int tiroir, int porte, int tablette,
double prix, boolean vendu, int hauteur, int profondeur, int largeur) {
this.Meuble(description, bois, fini, couleur, prix); // c'est ici au ça coince
this.hauteur = hauteur;
this.tablette = tablette;
this.vendu = vendu;
this.profondeur = profondeur;
this.largeur = largeur;
this.porte = porte;
this.tiroir = tiroir;
}
merci d'avance
1 réponse
Bonjour
Tu le fais à l'envers .. Tu dois utiliser l'héritage
public class Meuble{
// attributs ...
public Meuble (String description, int bois, int fini, int couleur, double prix) {
this.description = description;
this.bois = bois;
this.fini = fini;
this.couleur = couleur;
this.prix = prix;
}
public class autreMeuble extends Meuble {
// attributs étendus propres à cette sous-classe...
public Meuble (String description, int bois, int fini, int couleur, int tiroir, int porte, int tablette,
double prix, boolean vendu, int hauteur, int profondeur, int largeur) {
super (description, bois, fini, couleur, prix);
this.hauteur = hauteur;
this.tablette = tablette;
this.vendu = vendu;
this.profondeur = profondeur;
this.largeur = largeur;
this.porte = porte;
this.tiroir = tiroir;
}
}
tous les deux font partie de la classe Meuble mais l'AutreMeuble est plus spécialisé..
Maintenant si tu veux absolument utiliser des constructeurs avec des arguments différents dans une seule et même classe, tu ne pourra pas les utiliser que si une classe externe en fait appel mais tu ne pourra pas utiliser ces constructeurs "différents" comme tu comptais le faire.
SVP
Tu le fais à l'envers .. Tu dois utiliser l'héritage
public class Meuble{
// attributs ...
public Meuble (String description, int bois, int fini, int couleur, double prix) {
this.description = description;
this.bois = bois;
this.fini = fini;
this.couleur = couleur;
this.prix = prix;
}
public class autreMeuble extends Meuble {
// attributs étendus propres à cette sous-classe...
public Meuble (String description, int bois, int fini, int couleur, int tiroir, int porte, int tablette,
double prix, boolean vendu, int hauteur, int profondeur, int largeur) {
super (description, bois, fini, couleur, prix);
this.hauteur = hauteur;
this.tablette = tablette;
this.vendu = vendu;
this.profondeur = profondeur;
this.largeur = largeur;
this.porte = porte;
this.tiroir = tiroir;
}
}
tous les deux font partie de la classe Meuble mais l'AutreMeuble est plus spécialisé..
Maintenant si tu veux absolument utiliser des constructeurs avec des arguments différents dans une seule et même classe, tu ne pourra pas les utiliser que si une classe externe en fait appel mais tu ne pourra pas utiliser ces constructeurs "différents" comme tu comptais le faire.
SVP