Exercice : Brebis

Code source de l'énoncé

Un GAEC s'est équipé de deux caméras pour surveiller les attaques de loup.
Chaque fois qu'une caméra détecte un mouvement, sa méthode detecte() est appelée.

En partant du code situé dans l'énoncé, ajoutez un mécanisme qui alerte les paysans et les gendarmes chargés de surveiller ces caméras.
Une caméra doit alerter ses observateurs chaque fois que sa méthode detecte() est appelée.
paysan1 et paysan2 surveillent les deux caméras ; gendarme1 ne surveille que la caméra de la bergerie.

Dans main(), l'affichage doit ressembler à :
Paysan 1 : Camera portail : Un loup a franchi le portail
Paysan 2 : Camera portail : Un loup a franchi le portail
Paysan 1 : Camera bergerie : Un loup est entré dans la bergerie
Paysan 2 : Camera bergerie : Un loup est entré dans la bergerie
Gendarme 1 : Camera bergerie : Un loup est entré dans la bergerie
Le mécanisme est à implémenter sans utiliser les classes java.util.Observer et java.util.Observable.

L'implémentation peut utiliser des interfaces ou des classes abstraites.