La programación orientada a objetos es una evolución de la programación estructurada que permite desarrollar programas más fiables y fáciles de mantener mediante el uso de clases y objetos. Una clase define los métodos y propiedades de un tipo de objeto, mientras que los objetos son instancias creadas a partir de las clases sobre las que se aplican dichos métodos y propiedades. Los constructores permiten inicializar las propiedades de un objeto al momento de su creación.