Utilisation d'une instance d'un constructeur

Luisperres Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je suis débutant en programmation sur le logiciel Java et je suis en train de voir la matière portant sur la création de constructeur.
Ma question est la suivant: Comment puis-je intégrer dans mon code une méthode pour intégrer chaque instance créée à postériori à partir d'un constructeur dans une ArrayList avec toutes ses caractéristiques ?

Mon code ressemble pour l'instant à ça :

ArrayList chenil = new ArrayList();
    public Chien(int taille, String name, String race)
    {
        this.taille=taille;
        this.name=name;
        this.race=race;
}

public  void addChenil()
{
     Chien chien = new Chien;
     chenil.add(chien);
}


Merci d'avance pour votre aide !

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

il faut passer en paramètre de ton constructeur les différents arguments attendus :

Chien rintintin = new Chien(65, "Rintintin", "Berger Allemand");

Voir : Providing Constructors for Your Classes
0
Luisperres Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Il n'y a donc pas moyen d'intégrer chaque instance créée à postériori à l'appel de la classe concernée (quand on lance la classe à partir de l'interface général, sans intégrer l'instance dans le code) à une ArrayList au préalablement définie ?

Du genre :
Public Chien(int taille, String nom)
{
this.taille = taille;
this.nom = nom;

}
Public void ajoutchenil()
{
add.chenil(new Chien);
}

Merci pour ta réponse :)
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je ne suis pas sûr de comprendre ce que tu veux dire.

Ce que tu veux, c'est qu'à chaque fois que tu créés un Chien il s'ajoute dans la liste du chenil ?

Tu peux passer cette liste en paramètre du constructeur, par exemple au travers d'un objet qui proviendrait de la classe Chenil.

public Chien(Chenil chenil, int taille, String nom)
{ 
    this.taille = taille;
    this.nom = nom;
    this.chenil = chenil;

    chenil.ajouterChien(this); // la classe Chenil gère une List<Chien>
}

En vrai c'est un peu maladroit de faire comme ça, car ça oblige à avoir le chien toujours dans un chenil alors qu'il pourrait très bien être ailleurs (dans une famille, ou errant par exemple).
0