Les paramétres d'un constructeur

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.

2 réponses

  1. Modérateur
    Il n'y a aucun piège, c'est comme tous les autres constructeurs :

    public Rectangle(int largeur, int longueur)
    {
        ...
    }
    
    public Rectangle(Rectangle r)
    {
         ...
    }
    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.
      1. Modérateur
        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 !