Banale:
supponi di avere la classe: "EsseriViventi"
ora supponi di avere la classe "Mammiferi". Ovviamente un mammifero e' un essere vivente, quindi "Mammiferi" e' sottoclasse di "EsseriViventi".
Viceversa, se prendi come riferimento "Mammiferi", la classe "EsseriVivienti" e' la sua superclasse.
La stessa cosa vale per Tipo, Supertipo, Sottotipo.
Che differenza c'e' tra Tipo e Classe?
Ci sono diverse filosofie di pensiero: ma in prima approssimazione puoi considerare i due termini come sinonimi.
Ad esempio in Java si parla di classi, mentre in C# di Tipo.
Nella teoria dei tipi, il Tipo e' il concetto astratto, mentre la Classe e' l'implementazione, mediante un linguaggio di programmazione, di un Tipo.