Les paramétres d'un constructeur

mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
ma question est simple, comment mettre en paramètre d'un constructeur, un nom d'une classe ? Par exemple, je suis dans une classe Rectangle (qui a comme attributs largeur et longueur) et on m'a demandé de créer un constructeur "Rectangle(Rectangle)" . Prière de me répondre le plus vite que possible et merci.
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Il n'y a aucun piège, c'est comme tous les autres constructeurs :

public Rectangle(int largeur, int longueur)
{
    ...
}

public Rectangle(Rectangle r)
{
     ...
}
0
mafia_boy Messages postés 104 Date d'inscription   Statut Membre Dernière intervention   1
 
oui merci je m'en suis rendu compte :
public Rectangle(Rectangle r){
this.longueur = r.longueur;
this.largeur = r.largeur;
}
mais à l'appel du constructeur dans une classe Test, j'ai pas eu d'erreur mais lors de l'exécution, j'ai comme résultat 3 lignes rouges mais toujours pas de résultat concernant mon exercice ! Voilà ma classe test si ça peut t'aider :

public class TestRectangle {
public static void main(String args []){
Rectangle r1 = new Rectangle();
r1.setLongueur(4);
r1.setLargeur(4);
Rectangle r2 = new Rectangle(5,3);
Rectangle r = null;
Rectangle r3 = new Rectangle(r);
r1.perimetre();
r2.perimetre();
r3.perimetre();
System.out.println("----------------");
r1.aire();
r2.aire();
r3.aire();
System.out.println("----------------");
r1.toString();
r2.toString();
r3.toString();
System.out.println("----------------");
}
}
et merci.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Tu vas avoir des problèmes en faisant ça :

Rectangle r = null; 
Rectangle r3 = new Rectangle(r);

Dans ton constructeur tu ne pourras jamais faire null.largeur, et null.longueur !
0