Se la classe 1 eredita dalla classe 2, si dice che 1 è una sottoclasse di 2 e che 2 è una superclasse di 1.
A seconda del linguaggio di programmazione, l'ereditarietà può essere singola o multipla. Si parla di ereditarietà singola quando una classe può avere al massimo una superclasse; si parla di ereditarietà multipla quando invece può avere anche più di una sola superclasse.
In generale, l'ereditarietà fornisce una gerarchia tra le classi: nel caso di un'ereditarietà singola, si ha una gerarchia che possiamo definire ad albero, in quanto esiste una superclasse radice di tutte le altre; nel caso di ereditarietà multipla, invece, la gerarchia può essere complessa, e può risultare più difficile stabilirla.
Descriviamo in un'immagine l'ereditarietà singola, tramite un esempio di tipo biologico:
Descriviamo ora invece l'ereditarietà multipla, in un'altra immagine:
Come si può osservare, la classe 4 ha due superclassi: la 1 e la 2.

