Programación Orientada a Objetos
Conforme las necesidades de los clientes de software, se iban haciendo mas complejos, se vio en la necesidad de intentar simular el mundo real por medio del software, esto es si una manzana es una fruta en el mundo real, al simular la manzana, tienen que tener las características suficientes como para saberse, que es un manzana en el mundo virtual que estamos creando, aun que esta no se pueda comer XD, (imagina que chévere, resolveríamos el hambre mundial) podríamos decir que esta manzana interactué con otras, frutas, pero estas tienen características en común, y al crear conjuntos de cosas que tienen mismas características, se empiezan a crear clases.
La programación orientada a objetos genera un nuevo enfoque en el cual cada cosa es lo que representa y tiene propiedades y actividades que lo definen (atributos y métodos), este tipo de visión facilita mucho mas la programación, y creación de software.
Para el uso de programacion orientada a objetos se crearon algunas características, como son:
- Abstracción: Dentro de los atributos y métodos se puede quitar aquellos que para el sistema son obsoletos o simplemente no cumplen alguna función.
- Encapsulamiento: Para evitar algún problema, se pensó en la manera de proteger a los objetos, y que no se les pudiese modificar por medio externo, por ende se intenta proteger solo mostrado aquellas opciones que interactúen con otras.
- Herencia: Cuándo una súper-clase pasa atributos o métodos a una subclase..
- Polimorfismo: Propiedad que le permite a un atributo o método llamarse igual que el de la súper-clase, pero teniendo su propio procedimiento o uso.