This commit is contained in:
2024-03-09 14:19:25 +01:00
parent 52a96e0d6d
commit a75ff44f14
14 changed files with 192 additions and 7 deletions

View File

@@ -0,0 +1,46 @@
/* Écrivez une classe pour représenter une carte. Vous y définirez au moins :
- un constructeur qui permet de préciser le numéro imprimé sur la carte,
- une redéfinition de la méthode toString qui produit un
texte contenant le numéro, le nombre actuel de crédits et le nombre total de crédits obtenus depuis le départ.
- une méthode voir qui renvoie le nombre actuel de crédits.
- une méthode crediter qui ajoute un crédit à la carte (si possible).
- une méthode vider qui remet le compte à zéro lorsque le client bénéficie d'une gratuité.
L'un des développeurs du logiciel, glouton et peu scrupuleux, décide de se créer une yes card, c'est à dire une carte qui dit toujours qu'il a le droit à une ristourne (les crédits restent bloqués à 10). Écrivez une nouvelle classe qui
représente une telle carte, avec les mêmes méthodes que la classe précédente. */
public class Deduction{
private int numeroCarte;
private int nombreCreditActuel;
private int nombreCreditTotal;
public Deduction(int numero){
this.numeroCarte = numero;
this.nombreCreditActuel = 0;
this.nombreCreditTotal = 0;
}
@Override
public String toString(){
return "Numéro de carte : " + this.numeroCarte + "\nNombre de crédit actuelle : " + this.nombreCreditActuel + "\nNombre de crédit total : " + this.nombreCreditTotal;
}
public int voir(){
return this.nombreCreditActuel;
}
public int crediter(){
if(this.nombreCreditActuel < 10){
this.nombreCreditActuel++;
this.nombreCreditTotal++;
}
if (this.nombreCreditActuel == 10) {
vider();
}
return this.nombreCreditActuel;
}
public void vider(){
this.nombreCreditActuel = 0;
}
}

View File

@@ -0,0 +1,13 @@
public class YesCard extends Deduction {
public YesCard(int numero) {
super(numero);
}
@Override
public int crediter() {
if (this.voir() < 10) {
super.crediter();
}
return this.voir();
}
}