Paradigma de Orientacion a Objetos
La programación orientada a objetos es más moderna, es una evolución de la programación imperativa. Se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones.
Algunos conceptos relacionados con este tipo de programación son:
-Objeto: Entidad compuesta de un conjunto de atributos (datos) y de metodos (funcionalidades). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (programa).
-Clase: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto
-Herencia: Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.
-Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.
-Encapsulacmiento: Protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado
