Partage
  • Partager sur Facebook
  • Partager sur Twitter

Debutant java

Java

    19 décembre 2014 à 17:56:33

    Soit je suis debile soit le cour java est mal fait ..

    Je suis debutant en java (obliger de l'apprendre pour le taf et l'objet c'est pas mon truc..), mais je trouve que pour un debutant le cours passe va trop vite on y decouvre les methode au tout debut du cour sans voir ce qu'est une classe .. pour apres voir les classe .. , on passe d'un bout de code a un autre avec des modification sans trop vraiment savoir pourquoi ex 

    public class Ville{   
      //Stocke le nom de notre ville
      String nomVille;
      //Stocke le nom du pays de notre ville
      String nomPays;
      //Stocke le nombre d'habitants de notre ville
      int nbreHabitants;
         
      //Constructeur par défaut
      public Ville(){
        System.out.println("Création d'une ville !");      
        nomVille = "Inconnu";
        nomPays = "Inconnu";
        nbreHabitants = 0;
      } 
    }

    Il s'agit de la même méthode, mais surchargée  (voila l'explication mais on n'en sera pas plus sur la surcharge ..)

    On passe de ca à ..

    public class Ville {
     
      //Stocke le nom de notre ville
      String nomVille;
      //Stocke le nom du pays de notre ville
      String nomPays;
      //Stocke le nombre d'habitants de notre ville
      int nbreHabitants;
     
      //Constructeur par défaut
      public Ville(){
        System.out.println("Création d'une ville !");          
        nomVille = "Inconnu";
        nomPays = "Inconnu";
        nbreHabitants = 0;
      }
     
      //Constructeur avec paramètres
      //J'ai ajouté un « p » en première lettre des paramètres.
      //Ce n'est pas une convention, mais ça peut être un bon moyen de les repérer.
      public Ville(String pNom, int pNbre, String pPays)
      {
        System.out.println("Création d'une ville avec des paramètres !");
        nomVille = pNom;
        nomPays = pPays;
        nbreHabitants = pNbre;
      }        
    }

    pourquoi nomVille devient pNom, nomPays devient pPays ... la seul explication c'est //J'ai ajouté un « p » en première lettre des paramètres.. pourquoi le nom des variables change par rapport au constructeur precedent ..

    public class Sdz1 {
     
      public static void main(String[] args)
      {
        Ville ville =  new Ville();
        System.out.println(ville.nomVille);
        ville.nomVille = "la tête à toto ! ! ! !";
        System.out.println(ville.nomVille);
                    
        Ville ville2 = new Ville("Marseille", 123456789, "France");
        ville2.nomPays = "La tête à tutu ! ! ! ! ";
        System.out.println(ville2.nomPays);
      }
              
    }

    cette partie nous montre ce quil ne faut pas faire on ne sait pas vraiment pk..


    public class Ville {
    
      //Les variables et les constructeurs n'ont pas changé…
              
      //*************   ACCESSEURS *************
        
      //Retourne le nom de la ville
      public String getNom()  {  
        return nomVille;
      }
    
      //Retourne le nom du pays
      public String getNomPays()
      {
        return nomPays;
      }
    
      // Retourne le nombre d'habitants
      public int getNombreHabitants()
      {
        return nbreHabitants;
      } 
     
      //*************   MUTATEURS   *************
    
      //Définit le nom de la ville
      public void setNom(String pNom)
      {
        nomVille = pNom;
      }
    
      //Définit le nom du pays
      public void setNomPays(String pPays)
      {
        nomPays = pPays;
      }
    
      //Définit le nombre d'habitants
      public void setNombreHabitants(int nbre)
      {
        nbreHabitants = nbre;
      }  
    }

    la ligne les variable et les constructeur n'ont pas changer .. que veut telle dire sachant que le code presente avant etait ce quil ne fallait pas faire ... doit on le laisse le supp ..

    et j'en passe donc soit je ne comprend pas soit le cour est bizard, je ne trouve pas avantageux de nous apprendre une methode puis nous dire que ce n'est pas la bonne a la fin du chapitre pour au final nous en presenter une autre .. je n'ai jamais fait de programmation je commence par java et je pensais trouver de l'aide ici..


    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2014 à 18:17:36

      Bizarre, j'avais regardé le cours une fois histoire de voir et il me semblait plutôt claire au niveau du JAVA.

      Je vais tenter de t'expliquer en gros chacun des points soulevés :

      public class Ville {
        
        //Stocke le nom de notre ville
        String nomVille;
        //Stocke le nom du pays de notre ville
        String nomPays;
        //Stocke le nombre d'habitants de notre ville
        int nbreHabitants;
        
        //Constructeur par défaut
        public Ville(){
          System.out.println("Création d'une ville !");          
          nomVille = "Inconnu";
          nomPays = "Inconnu";
          nbreHabitants = 0;
        }
        
        public Ville(String pNom, int pNbre, String pPays){
          System.out.println("Création d'une ville avec des paramètres !");
          nomVille = pNom;
          nomPays = pPays;
          nbreHabitants = pNbre;
        }        
      }

      Surcharge de la méthode. C'est tout simple : java va automatiquement appelé la bonne méthode. Avec ce codage, tu peux appeler la classe Ville de deux manières différentes :

      Ville maVille = new Ville();

      OU

      Ville maVille = new Ville("Madrid", 55, "Espagne");


      Concernant le p mis avant les noms dans le :

      public Ville(String pNom, int pNbre, String pPays)


      Il le dit lui-même, ce n'est pas obligatoire, d'ailleurs tu les appels comme tu veux ! Tu pourrais mettre :

      public Ville(String coucou, int blabla, String ok) 

      Et ensuite faire :

      nomVille = coucou;
      nomPays = ok;
      nbreHabitants = blabla;

      Quand tu demandes : pourquoi nomVille devient pNom, il ne faut pas que tu confondes deux choses. nomVille est une variable de ta classe Ville. Tandis que pNom est une variable que tu passes via le constructeur, cela n'a strictement rien avoir.


      Pourquoi ne pas faire ceci (extrait du passage cité dans ton message) :

       System.out.println(ville.nomVille);

      Voici la réponse : accéder à une variable d'une classe directement n'est pas recommandé (nomVille étant variable de la classe ville).

      Au lieu de cela, nous utilisons plutôt les SETTERS et les GETTERS.

      • Un SETTERS a pour but de remplir un paramètre.
      • Un GETTERS de retourner un paramètre.

      Dans la classe Ville, nous allons donc mettre :

      public String getNom()  { 
          return nomVille;
      }

      Et dans le main, au lieu de faire :

      System.out.println(ville.nomVille);

      Nous allons faire :

      System.out.println(ville.getNom());





      • Partager sur Facebook
      • Partager sur Twitter
        25 décembre 2014 à 16:25:35

        merci pour tes réponse mais bon je n'y voit toujours pas plus claire surement pck la programmation je n'aime pas vraiment ca donc difficile de s'impliquer mais merci d'avoir pris du temps pour répondre
        • Partager sur Facebook
        • Partager sur Twitter

        Debutant java

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown