Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. // Auteurs : Marc-Antoine Crépeau et Christian Mongeon, Groupe : 62
  2. // Fichier : CabineInternet.java
  3. // Date : 19 avril 2018
  4. // Cours : 420-ZE4-MO (TP4, Gestion de cabines)
  5.  
  6. // Package du programmeur.
  7.  
  8. import outilsjava.*;
  9.  
  10. /**
  11. * La classe CabineInternet hérite de la classe CabineStandard.
  12. *
  13. * La classe CabineInternet contient les informations et les méthodes
  14. * supplémentaires pour une cabine du paquebot qui a un accès à Internet.
  15. */
  16.  
  17. public class CabineInternet extends CabineStandard {
  18.  
  19. // Constantes de la classe CabineInternet.
  20.  
  21. // Peut consommer entre 0 et 32768 Mio (32 Gio) de données.
  22.  
  23. public static final double MIN_CONSOMMATION = 0;
  24. public static final double MAX_CONSOMMATION = 32768;
  25.  
  26. // L'accès Internet coûte 0.05 $ du Mio (mébioctet).
  27.  
  28. public static final double PRIX_INTERNET = 0.05;
  29.  
  30. // Champ d'instance privé de la classe CabineInternet.
  31.  
  32. private double nbMio; // Nombre de Mio (mébioctet) consommés pour l'accès
  33. // Internet.
  34.  
  35. /**
  36. * Constructeur de la classe CabineInternet pour construire une cabine à
  37. * accès Internet de base. Au début, aucun accès à Internet (Aucune
  38. * consommation de données).
  39. */
  40.  
  41. public CabineInternet() {
  42.  
  43. initialiserCabine();
  44.  
  45. }
  46.  
  47. /**
  48. * Redéfinition de la méthode qui permet d'initialiser une cabine.
  49. */
  50.  
  51. @Override
  52. public void initialiserCabine() {
  53.  
  54. super.initialiserCabine();
  55. this.setNbMio( 0 );
  56.  
  57. }
  58.  
  59. /**
  60. * Méthode accesseur qui retourne la quantité de données consommées pour
  61. * l'accès à Internet.
  62. *
  63. * @return La quantité de données consommées pour l'accès à Internet.
  64. */
  65.  
  66. public double getNbMio() {
  67.  
  68. return this.nbMio;
  69. }
  70.  
  71. /**
  72. * Méthode mutateur qui modifie la quantité de données consommées pour
  73. * l'accès a Internet avec celle reçue en paramètre.
  74. *
  75. * @param nbMio
  76. * Le nombre de Mio (mébioctet) consommés pour l'accès à
  77. * Internet.
  78. */
  79.  
  80. public void setNbMio( double nbMio ) {
  81.  
  82. if ( nbMio >= CabineInternet.MIN_CONSOMMATION && nbMio <= CabineInternet.MAX_CONSOMMATION ) {
  83.  
  84. this.nbMio = nbMio;
  85. }
  86. }
  87.  
  88. /**
  89. * Redéfinition de la méthode qui lit les informations à la fin de la
  90. * croisière (au moment du débarquement du passager).
  91. */
  92.  
  93. @Override
  94. public void lireInfosFinCroisiere() {
  95.  
  96. final String QUEST_NB_MIO = "\nEntrez la quantité de données consommées (en Mio) pour l'accès à Internet "
  97. + "(entre " + CabineInternet.MIN_CONSOMMATION + " et " + CabineInternet.MAX_CONSOMMATION + ") : ";
  98.  
  99. super.lireInfosFinCroisiere();
  100. double nbMioInternet = OutilsLecture.lireReelValide( QUEST_NB_MIO, MIN_CONSOMMATION, MAX_CONSOMMATION );
  101. this.setNbMio( nbMioInternet );
  102.  
  103. }
  104.  
  105. /**
  106. * Redéfinition de la méthode qui calcule et retourne le prix total de la
  107. * cabine.
  108. */
  109.  
  110. @Override
  111. public double calculerPrixTotal() {
  112.  
  113. return ( this.nbMio * PRIX_INTERNET );
  114.  
  115. }
  116.  
  117. /**
  118. * Méthode statique qui affiche les tarifs de base de la cabine.
  119. */
  120.  
  121. public static void afficherTarifsBase() {
  122.  
  123. System.out.println( "Prix pour l'accès à Internet : \t" + OutilsAffichage.formaterMonetaire( PRIX_INTERNET, 2 )
  124. + " par Mio (mébioctet) consommé." );
  125.  
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement