Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.02 KB | None | 0 0
  1. package voiture;
  2.  
  3. // int pour integer ou nombre entier (e.g: 1, 2, 3)
  4. // contrairement a float ou double qui sont pour les nombres a virgule (e.g: 0.557478, 2.55)
  5.  
  6. // void pour du rien, quand ça retourne void ça veut dire que ça retourne queudal en fait.
  7.  
  8. // on définit une classe appelée "Moteur"
  9. public class Moteur {
  10.  
  11.     // une champ privé puissance, qui est de type integer, qui n'est pas initialisé.
  12.     private int puissance;
  13.     // un champ privé carburant, qui est de type  char (un caractère seul, genre 'b'), qui n'est pas initialisé.
  14.     private char carburant;
  15.  
  16.     //getter/setter
  17.  
  18.     // une methode publique getPuissance, qui retourne un integer
  19.     // une variable privée on peut y accèder que depuis sois meme, comme this,
  20.     // une variable publique on peut y accèder depuis n'importe ou, meme une autre classe.
  21.  
  22.     public int getPuissance() {
  23.         return puissance;
  24.     }
  25.  
  26.  
  27.     // une methode setPuissance qui retourne rien (void), qui prend un parametre puissance, qui est un integer.
  28.     // cette methode met a jour la puissance du moteur depuis le parametre,  
  29.     // cependant, la puissance en parametre est controllée, si elle est en dessous de, ou égale a 1000,
  30.     // bah elle va etre mise a 1000,
  31.  
  32.     //mais le code est bizarre! regarde:  this.puissance = (puissace <= 1000 ? 1000 : puissance);
  33.     // qu'est ce que ça veut dire?
  34.  
  35.     // et bien on aurait aussi pu l'écrire de la sorte:
  36.  
  37.     /*
  38.         if (puissance <= 1000)
  39.         {
  40.             this.puissance = 1000;
  41.         }
  42.         else
  43.         {
  44.             this.puissance = puissance;
  45.         }
  46.    
  47.     */
  48.  
  49.     // en fait, il s'agit d'un "ternaire", c'est une abréviation pour ce que j'ai écrit au dessus,
  50.     // comme ça on va plus vite plutot que d'écrire plein de truc ça tiens en une seule ligne de code.
  51.  
  52.     // this.puissance = (puissace <= 1000 ? 1000 : puissance); // bien plus pratique non?
  53.  
  54.     public void setPuissance(int puissance) { // set je vais ecire a present dans ce cahier
  55.         this.puissance = (puissance<=1000? 1000 : puissance); // ici this selectionne une puissance a partir du moteur
  56.  
  57.         /* si la condition est vrai ( inferieur ou egale a mille ca sera mille)*/
  58.     }
  59.  
  60. //  une methode publique qui retourne un caractere seul,
  61. //
  62.     public char getCarburant() { // le bonhomme demande l'acces au carburant puis
  63.         return carburant; // demande l'acces et le recupere
  64.     }
  65.  
  66. // une methode publique qui retourne void (donc rien), et qui met a jour le caractere  this.carburant
  67. // si le carburant en parametre est différent de 'E', et différent de 'D', bah on met 'E', sinon on met la valeur en parametre.
  68.  
  69. // en gros c'est pour etre sur d'accepter seulement un 'E' ou un 'D'
  70.     public void setCarburant(char carburant) { // il renvoi rien
  71.         this.carburant = (carburant != 'E' && carburant != 'D' ? 'E': carburant);
  72.         // si le carburant est different de grand e et grand b sinon la valeur est acceptable
  73.         // != signifie different
  74.     }
  75.  
  76.     //CONSTRUCTEURS
  77.  
  78.     // le constructeur par défaut de la classe moteur
  79.     // il met des valeurs par défaut a carburant et puissance.
  80.     public Moteur() {
  81.         setCarburant('E');
  82.         setPuissance(1000);
  83.     }
  84.  
  85.     // un constructeur supplémentaire, qui prend en parametre de quoi initialiser puissance et carburant,
  86.     // d'une manière personnalisée.
  87.     public Moteur(int puissance, char carburant) { // dans les parentheses nous avons les arguments
  88.         this.setPuissance(puissance);
  89.         this.setCarburant(carburant);
  90.     }
  91.  
  92.     /// redefinir toString
  93.  
  94.     // ici on force java a executer cette methode quand on appel uneInstanceDeMoteur.toString();
  95.     // plutot que ce que java ferait par défaut.
  96.     // et on retourne une belle chaine de charactere décrivant bien le moteur.
  97.     @java.lang.Override
  98.     public java.lang.String toString() {
  99.         return "Moteur{" +
  100.                 "puissance=" + puissance +
  101.                 ", carburant=" + carburant +
  102.                 '}';
  103.  
  104.  
  105.     }
  106.     //test unitaire
  107.  
  108. //  ici c'est l'entrée du progamme, donc on va pouvoir par exemple faire des tests,
  109. //  et quelques instances de la classe Moteur pour s'amuser.
  110.     public static void main(String[] args) {
  111.             // ces instanciations utilisent le constructeur supplémentaire qui prend des parametres pour puissance et carburant.
  112.             // mais on pourrait faire un moteur en appelant le constructeur par défaut, sans le personnaliser:
  113.             // Moteur m3 = new Moteur();
  114.            
  115.             // et pourquoi pas ensuite mettre a jour la puissance sois meme par exemple:
  116.             // m3.setPuissance(150000);  // oulala ce moteur est très puissant!
  117.  
  118.                 Moteur m1 = new Moteur( 1200,'D');
  119.                 Moteur m2 = new Moteur( 1600,'F');
  120.                 // ici pour récuperer la puissance j'ai tapé la valeur et virgule
  121.                 // ici pour récuperer carburant j'ai entré la valeur 'D' et virgule
  122.  
  123.  
  124.     }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement