Este documento describe los conceptos básicos de programación orientada a objetos, incluyendo clases, objetos, propiedades, métodos, constructores, herencia y clonación. Una clase define los atributos y comportamientos de un objeto, mientras que un objeto es una instancia concreta de una clase. Las propiedades almacenan los datos de un objeto y los métodos definen sus acciones. Los constructores inicializan los objetos y la clonación genera copias de ellos.