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!
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
k3^!nl33
 
Merci KX.
0