User Tools

Site Tools


appunti3s:generalizzazione

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)

Principio di sostituzione

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

Come si realizza?

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 …?

Esempio

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: 2020/06/08 22:19 by 127.0.0.1