Nie jest możliwa zmiana przynależności obiektu do klasy po jego utworzeniu. Programowanie oparte na prototypach – w tym podejściu obiekty tworzy się w oparciu o istniejący już obiekt – prototyp, po którym dziedziczone są pola i metody i można go rozszerzać o nowe. Język może posiadać pojęcie klasy (tak w JavaScript), jednak przypisanie obiektu do klasy jest opcjonalne, tzn. mogą istnieć obiekty bez klas; klasa obiektu może zostać dopisana lub zmieniona już po jego utworzeniu; oraz przynależność do klasy jest i tak wewnętrznie tłumaczona na dziedziczenie od prototypu (niejawnie definiowanego przy tworzeniu klasy). Spotykany raczej w językach interpretowanych, np. JavaScript.
Elementarna charakterystyka popularnych języków obiektowych