Triedna (aj abstraktna) je vztah typu is a(je). Rozhranie znamena can do (vie robit).
Napr. netopier je cicavec, holub je vtak, pterodaktyl je plaz. Toto je typicke zaradenie do tried a povedzme, ze triedna hierarchia kopiruje klasifikaciu zo zoologie. Pridajme k tomu lietadlo. Lietadlo je stroj. Co maju spolocne? Vedia robit podobny typ operacii - vzlietni, pristan, atd. Vztah, ktory definuje, co ma spolocne holub, pterodaktyl a lietadlo je typ vztahu can do (vie lietat), t.j. maju spolocne "rozhranie" pre lietajuce objekty.
Nez sa rozhodnem, ci je nieco trieda alebo rozhranie, polozim si presne tuto otazku, aky typ vztahu to reprezentuje. Ak by som si tuto otazku nepolozil, lahko dospejem k zlemu navrhu, kde holub aj lietadlo priamociaro dedia od nejakeho spolocneho predka - triedy. Dosledkom bude, ze sa stratim pri rozsirovani programu, ked sa budem stale budem borit s problemom, ze tie 2 veci vlastne nemaju nic spolocne, len v nejakej casti programu potrebujem vediet, ze oboje vedia lietat a vykonat s nimi nejaku "lietajucu" operaciu.