Generalizzazione

  • è quasi la stessa cosa dell'ereditarietà1, per approfondimento vedere libro “Usare UML”
  • ha il simbolo della linea continua che termina con un triangolo
  • ha UN SOLO verso e quindi una sola regola (vedi esempio)

Un oggetto della classe derivata implementa sia il modello della classe base che della classe derivata.

Si definisce la classe A come classe derivata dalla classe B , che è la classe base

Class B
{
  //etc.
};

class A : public B
{
  //etc.
};

In questo modo la classe A avrà, oltre ai propri membri, anche quelli ereditati da B.

Rispetto alla relazione di Aggregazione (o di Associazione), in questo caso, A può accedere ai membri dello stesso tipo di B senza aver bisogno di creare un oggetto di tipo B perché è lui stesso un oggetto di tipo B.

Questo può essere utile quando …?

La relazione si riconosce quando nelle regole si può leggere: Ogni oggetto-derivato è un (is a) oggetto-base (non viceversa). Ogni automobile è un autoveicolo, Ogni camion è un autoveicolo, ecc…

  • appunti3s/generalizzazione.txt
  • Last modified: 2018/04/25 07:55
  • (external edit)