Diagramma UML - rappresentazione delle classi

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5fb2ec0f-2f0e-4005-a6a4-9dfa0e58c30a/Untitled.png

Gerarchia

Spesso i concetti vengono rappresentati in modo gerarchico

ES: il messaggio "pagamentoCC" è proprio di una categoria più ampia, quella dei Negozianti.

Le proprietà ed i comportamenti di una categoria di oggetti vengono ereditate dalle sotto-categorie

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/7c88cef1-0639-4e14-9d49-c00217c8dd90/Untitled.png

In presenza di ereditarietà tutti i metodi delle superclassi vengono ereditati dalle sottoclassi.

Il tipo determinato dalla sottoclasse è un sottotipo del tipo determinato dalla superclasse

La relazione sottoclasse / superclasse definisce una relazione di tipo "è un".

Ogni oggetto della sottoclasse è un oggetto della superclasse

Sintassi per dichiarare una classe ereditata:

class Quadrato extends Rettangolo{
//...
}

La gerarchia di Java

E' organizzata ad albero:

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/06edc515-8e93-4a25-b16e-efaddcc69422/Untitled.png

Ogni classe estende al più una classe (la sua superclasse diretta)