Este documento describe los conceptos fundamentales de la programación orientada a objetos, incluyendo clases y objetos, encapsulamiento, herencia, polimorfismo, abstracción y reutilización de código. Define una clase como un tipo de dato definido por el usuario que incluye atributos y métodos, y un objeto como una instancia de una clase.