Si modifichi la classe JAMAgent in modo da accogliere la
definizione di comportamenti.
Prima di tutto si definisca la classe JAMAgent astratta:
public abstract class JAMAgent ... ...
Quindi si aggiunga ai suoi campi il campo myBehaviours di tipo
java.util.List (si scelga un'implementazione) e si
introducano i seguenti metodi:
- void addBehaviour(JAMBehaviour behaviour), che aggiunge
il comportamento behaviour alla lista myBehaviours;
- void start(), che invoca il metodo start su ogni
oggetto di tipo JAMBehaviour (che sono anche di tipo
Thread!) presente in myBehaviours avviando tutti
i comportamenti in esso presenti (ci si ricordi di completare
l'interfaccia grafica della Sezione 3.6
in modo che venga eseguito questo metodo in corrispondenza della
pressione del tasto ``Start'').
Si modifichi, infine, il metodo destroy in modo che
oltre ad effettuare i compiti già descritti nella
Sezione 3.5, invochi anche il metodo done
su ogni comportamento presente in myBehaviour.
baldoni
2005-01-13