La programación orientada a objetos promete mejorar el diseño, desarrollo y mantenimiento de software al ofrecer una solución a largo plazo a problemas como la falta de portabilidad de código y reusabilidad. Un lenguaje orientado a objetos debe estar basado en objetos, clases y herencia de clases. El elemento fundamental de la POO es el objeto, el cual contiene atributos como variables de instancia y métodos como subrutinas definidas en una clase. La encapsulación es una característica clave donde cada objeto es una e