Enseignement > Programmation orientée objet > Java > Travaux Pratiques > TP n°10 - Unités militaires  

 Un éditeur de jeux video souhaite réaliser un wargame et vous confie la modélisation en java des forces militaires en présence.

Au cours des siècles, et selon les pays, l'organisation des armées a été très variables.

Pour être capable de modéliser cette variabilité, vous chercherez à créer un concept générique d'unité militaire qui permettra de modéliser n'importe quelle organisation.
Vous implémenterez en Java une interface UniteMilitaire ayant les caractéristiques suivantes :

  • son nom (légion)
  • son type (exemple cavalerie)
  • son effectif
  • son commandant (qui sera un soldat particulier)
  • sa position

Vous créez ensuite la classe Soldat qui sera une unité militaire élémentaire (effectif 1)
Outre les caractéristiques lui permettant d'être une unité militaire définie ci-dessus, un soldat aura un grade.

Ecrire une classe Commandant qui héritera de la classe Soldat. Un commandant est un soldat qui commande une unité militaire. Cela permet d'avoir un "double chainage" entre l'unité militaire et son commandant.

Ecrire une classe abstraite UniteMilitaireComposee qui implémente une collection d'unité militaires et les méthodes fondamentales (calcul de l'effectif et de la position qui sera le barycentre pondéré des effectifs des unités qui la composent)

On cherchera ensuite à modéliser une armée romaine :

Une centurie est composée d'une centaine de soldats. Une manipule est formée de plusieurs centuries, elles-même regroupées en cohortes, qui forment une légion.

début de corrigé