Création des objets java

Fermé
K3^!n L33 - 16 févr. 2011 à 18:02
 k3^!nl33 - 17 févr. 2011 à 12:03
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 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
16 févr. 2011 à 19:40
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
Merci KX.
0