Création des objets java

K3^!n L33 -  
 k3^!nl33 -
Bonjour

Si j'ai une classe java qui crée un objet java caisse (avec deux champs: nom, montant en paramètres)

public class Caissse (string nom, integer montant )
{

}

public Caisse()
{
}

on peut faire :

Caisse macaisse = new Caisse();
macaisse.montant = 1500;
macaisse.nom = "Caisse 1";

si je crée une class creer_caisse
private Caisse creer_caisse(string p_nom, integer p_montant)
{
Caisse p_caisse = new Caisse();
p_caisse.nom = p_nom;
p_montant = p_montant;
return p_caisse;
}

------------------------------------------------------------
faire ceci est correct :
Caisse caisse = new Caisse();
caisse = creer_caisse("Caisse 2", 150000);

-------------------------------------------------------------------------------
Ma question : est-ce que je peux écrire ce qui suit et avoir le même résultat que l'écriture précédente?
Caisse caisse = creer_caisse ("Caisse 2", 150000);

Merci!

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Normalement oui, mais attention :
    Ta méthode creer_caisse devrait être déclarée static car elle n'est appliquée à un objet.
    De plus les attributs private vont t'empêcher d'utiliser cette méthode en dehors de la classe.

    Cependant pour ce genre d'opérations, il est plus logique de surcharger le constructeur :

    public Caisse(String p_nom, Integer p_montant)
    {
        this.nom = p_nom;
        this.p_montant = p_montant;
    }
    
    Caisse caisse = new Caisse("Caisse 2", 150000);

    Remarque : String et Integer sont des classes et prennent donc une majuscule.
    1
    1. k3^!nl33
       
      Merci KX.
      0