Vmesnik (interface) deklariše pogodbo — niz metod, ki jih mora tip zagotoviti — brez (ali z minimalno) implementacijo. Abstraktni razred je delno implementiran razred, ki lahko vsebuje skupno stanje in konkretne metode, vendar se ne more instancirati. Ključna razlika: razred lahko implementira številne vmesnike, vendar deduje samo od enega razreda.
