interfaccia Consumatore
{
Inizializza()
Consuma ($sDato, $bCompleto=VERO)
ConsumaF($sFormato, $vsDati, $bCompleto=VERO)
Sincronia()
Fine()
}

interfaccia Consumabile estende Notificabile
{
Consumati(&$cons, $bCompleto);
Fornisci();
Comportamento();
}

interfaccia Notificabile
{
NotificaInserimento(&$html);
}

classe VettConsumabili implementa Consumabile
{
costruttore(&$consumabile);
Aggiungi($consumabile);
Consumati(&$cons, $bCompleto);
Fornisci();
NotificaInserimento(&$html);
Comportamento();
}

Inizializza();

ConsumaF($sFormato, $vsDati, $bCompleto=VERO);

Sincronia();

Fine();

Consumati(&$cons, $bCompleto);

Fornisci();

Comportamento();

NotificaInserimento(&$html);


costruttore(&$consumabile)
Costruisce una nuova istanza di VettConsumabili contenente il consumabile passato (può essere un vettore).

Aggiungi($consumabile)
Aggiunge un consumabile in fondo al vettore interno

Consumati(&$cons, $bCompleto)

Fornisci()

NotificaInserimento(&$html)
implementazione vuota, avrebbe senso propagare la notifica a tutti i consumabili incapsulati, da fare.

Comportamento()