constructeurs en java
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

constructeurs en java



  1. #1
    invite402e4a5a

    constructeurs en java


    ------

    Bonjour,
    j'ai quelques questions sur le programme suivant:

    class voiture{

    int matricule;
    String type;

    public voiture(){
    matricule=0;
    couleur="";
    }

    public voiture(int num,String col){
    matricule=num;
    couleur=col;
    }
    }



    En effet dans ce programme on a deux constructeurs d'objets mais :
    *aucun de ces constructeurs ne contient le nom de voiture par exemple si je veux construire 2 voitures mercedes ou bmw..
    *quel est l'interet de les mettres tous les deux dans un meme programme
    *c'est quoi la difference entre ces deux constructeurs??
    merci d'avance

    -----

  2. #2
    Jack
    Modérateur

    Re : constructeurs en java

    je ne connais pas java, mais en C++ le premier s'appellerait le constructeur par défaut qui permet de mettre une valeur par défaut dans les différents attributs de l'instance créée et le second est le constructeur normal qui instancie l'objet et initialise ses attributs à partir des paramètres passés.

    Je suppose qu'en java ce doit être la même chose. Le but est de ne jamais laisser de paramètre non initialisé. On appelle un constructeur ou l'autre selon la façon dont est instancié l'objet.

    A+

  3. #3
    invite85b205a9

    Re : constructeurs en java

    Salut, je suis comme Jack je fait du C, mais je m'intéresse et essaye de maitrisé le Java.
    Alors je dirai, que la première boucle est une initialisation obligé a chaque fois que t'appelle l'objet voiture.
    Donc il n'y a qu'un seul constructeur.

    NB:Je peut dire des bêtises car le java et moi pour l'instant c'est pas le top... ^^

  4. #4
    Jack
    Modérateur

    Re : constructeurs en java

    Salut, je suis comme Jack je fait du C
    Je parlais de C++, qui est considéré par de nombreuses pesonnes car un langage indépendant du C.

    Le problème évoqué par littlegirl est typiquement lié à la programmation objet.

    Alors je dirai, que la première boucle est une initialisation obligé a chaque fois que t'appelle l'objet voiture.
    où vois-tu une boucle?

    A+

  5. A voir en vidéo sur Futura
  6. #5
    invite895675d5

    Re : constructeurs en java

    +1 à jack.
    Il y a 2 constructeurs car les 2 ne font pas la même chose, tout simplement.
    Pour te donner un exemple concret, on peut imaginer que dans ce programme, tu va créé un tableau de voiture, dans ce cas (surtout si ton tableau comporte beaucoup d'élément) il est probable que tu ne vas pas initialiser toutes les voitures de ton tableau à la création en donnant à chacune des valeurs définies.
    On peut très bien imaginer que tu vas créer un tableau vide et que tu vas le remplir au fur et à mesure du programme, dans ce cas, c'est le premier constructeur qui va être appelé. Il va initialiser le tableau avec des valeurs par défaut.
    On peut aussi imaginer que dans le même programme tu veuilles créer une nouvelle voiture en connaissant les infos, dans ce cas tu va les passer au constructeur et appeler ainsi le second.

    Si tu veux inclure le nom de la marque tu as 2 possibilités, modifier la classe en question afin d'y inclure la marque, ou bien créer une nouvelle classe qui héritera de celle-ci et qui contiendra en plus la marque.

    Il n'est pas rare de voir en programmation objet un minimum de 3 constructeurs par classe (voir plus dans certain cas) : un constructeur par défaut qui initialise avec des valeurs non significatives (le premier ici), un constructeur auquel tu passes des valeurs ayant "un sens" (le second) et enfin un constructeur de copie qui va créé un nouvel objet en copiant les information de celui qui sera passer en paramètre.

Discussions similaires

  1. Avis sur les constructeurs de MOB Roumains
    Par invite0fb12dcc dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 9
    Dernier message: 12/05/2015, 22h27
  2. Java, java, java, where are you, there's a mission for you !
    Par invite1237a629 dans le forum Logiciel - Software - Open Source
    Réponses: 35
    Dernier message: 16/03/2008, 23h10
  3. Constructeurs maisons bioclimatiques
    Par invitee1119a30 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 8
    Dernier message: 06/10/2007, 19h35