Programowanie obiektowe to styl programowania, który można poddać recyklingowi i łatwo go opracować i utrzymywać. Pojedynczy obiekt utworzony z klasy lub prototypu może być ponownie użyty do wielu celów. Jedną z zalet dostępnych dla programistów obiektowych jest zastosowanie enkapsulacji, która zapobiega przypadkowej manipulacji, umożliwiając ustawienie ograniczeń dostępu dla części obiektu. Ponieważ zorientowany obiektowo kod jest łatwy w nawigacji, aktualizacje są znacznie szybsze.
Obiekty mają wiele cech, które sprawiają, że można je przypisać do codziennych czynności. Obiekty wykonują akcje znane jako metody. W zależności od kodu obiekt może dziedziczyć akcje i inne właściwości z hierarchii coraz bardziej abstrakcyjnych klas lub prototypów. Na przykład: obiekt pudla i obiekt buldoga mogą zarówno odziedziczyć umiejętność szczekania z klasy psów. Klasa psów może dalej dziedziczyć właściwości z klasy ssaków i tak dalej.
Programowanie oparte na klasach i prototypach to dwa rodzaje programowania obiektowego. Obiekt w programowaniu klasowym jest tworzony ze swojej klasy, która jest oryginalnym projektem obiektu kodowanego przez programistę. Obiekty w prototypowym programowaniu są tworzone bezpośrednio przez programistę, a duplikaty obiektów są tworzone z tego prototypowego obiektu.
Ponieważ programowanie obiektowe podlega recyklingowi, programista może pobrać kod z jednego programu i łatwo umieścić go w innym programie bez obawy o poważne zmiany.