Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07120.jsonl.gz/195

Non. La classe Unite devrait être abstraite car elle ne ne correspond à aucune unité concrète du
jeu.
On peut éviter la duplication en transformant l’interface Nain en une classe abstraite et en y
déclarant les membres taille, hache et void frappHache(). On procède de façon analogue pour
l’interface Elfe.
Avant Java 8, non car on ne peut pas hériter de deux classes et une interface ne pouvait alors contenir que des méthodes sans définition. Depuis Java 8, oui car on peut donner des définitions par défaut dans les intefaces.
clone(), car un constructeur de copie n’est pas résolu dynamiquement. les attributs hache et arc pourraient
nécessiter une copie profonde car se sont des références (en supposant que l’on veuille garantir que
chaque nain ait sa propre hache et chaque elfe son propre arc, ce qui semble ici être la solution la
plus naturelle).