programmation Java (école d'ingénieur) · Chapitre 10 · Exercice de TD
Interface ou classe abstraite ?
Classes abstraites et interfaces · niveau 1 (application)
Énoncé
Pour chacune des situations suivantes, choisir entre une interface et une classe abstraite, en une phrase de justification.
- Des comptes bancaires (courant, épargne, joint) qui ont tous un numéro, un titulaire, un solde, et une méthode de calcul des frais propre à chacun.
- La capacité d'être exporté au format CSV, partagée par des factures, des clients et des produits.
- Des capteurs (température, pression) qui ont tous un identifiant et une période de mesure, et lisent leur valeur chacun à leur façon.
- La capacité d'être « annulable » (méthode
annuler()), pour des commandes, des réservations et des virements.
Corrigé
- Classe abstraite
Compte: les comptes partagent un état (numéro, titulaire, solde) et du code ; seulefrais()est abstraite. - Interface
ExportableCSV: factures, clients et produits n'ont aucun lien de parenté, ils partagent seulement une capacité. - Classe abstraite
Capteur: identifiant et période communs (attributs), méthode abstraitelire(). - Interface
Annulable: une capacité transversale ; une commande peut d'ailleurs être à la foisAnnulableetExportableCSV, ce que seules les interfaces permettent.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.