Los lenguajes de programación orientados a objetos tratan los programas como conjuntos de objetos que interactúan entre sí para realizar acciones. Los objetos contienen datos y métodos, y se comunican entre clases para cambiar su estado. Algunos ejemplos de lenguajes orientados a objetos son C++, Objective-C, Java, Ruby y Python. C++ se creó a partir de C para agregar características de programación orientada a objetos. Objective-C es un superconjunto de C que permite generar objetos similares a Smalltalk.