Este documento describe los conceptos fundamentales de la programación orientada a objetos, incluyendo objetos, clases, abstracción, encapsulamiento, herencia y polimorfismo. Los objetos son entidades que combinan datos y comportamientos, mientras que las clases definen el tipo de objetos. La abstracción identifica las características clave de un objeto, y el encapsulamiento oculta la complejidad del código. La herencia permite que las clases hereden atributos de otras clases, y el polimorfismo permite que los métodos tengan diferentes comport