La programación orientada a objetos ofrece mejoras en el diseño, desarrollo y mantenimiento del software mediante el uso de objetos, clases y herencia de clases. Un objeto se compone de datos y métodos, y puede considerarse como una cápsula. Los objetos tienen propiedades, métodos y relaciones con otros objetos a través de punteros.