Adloun

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 ; seule frais() 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 abstraite lire().
  • Interface Annulable : une capacité transversale ; une commande peut d'ailleurs être à la fois Annulable et ExportableCSV, ce que seules les interfaces permettent.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →