В обектно-ориентираното програмиране основните градивни единици на една програма са класове и обекти.
Класовете представляват шаблони, които се състоят от данни(информация) и поведение(функционалност), и изпълняват точно определена цел. Обектите са специфични копия на даден клас(още наричани инстанции). Можем да създаваме много инстанции на един и същ клас, за решаването на сходни по изпълнение проблеми.
Основните предимства на обектно-ориентираното програмиране са преизползването на кода и лесната поддръжка на софтуера. Поправянето на проблеми(бъгове) в програмата и разширяването и е по-лесно, заради по-добрата организация на градивните единици в класове.