El paradigma de la Programación Orientada a Objetos
Paradigmas
Un paradigma es una metodología que intenta unificar y simplificar la manera en
que se resuelve un cierto grupo de problemas. En el contexto de la programación,
un paradigma es un conjunto de principios y métodos que sirven para resolver los problemas a los que se enfrentan los desarrolladores de software al construir sistemas
grandes y complejos.
Estructurado.
Se basa en estructuras de control de flujo de programa (por
ejemplo, si/entonces/si no, para y mientras). No se hacen "saltos" de un lugar
a otro dentro de una rutina. De esta manera, los programas son más fáciles
de entender.
Funcional.
Se programa con funciones y sus llamados correspondientes. El
código con funciones pequeñas queda muy claro y promueve la reutilización.

El orientado a objetos.
Los programas trabajan con base en unidades llamadas
objetos, los cuales siguen una serie de principios que veremos más adelante.
POO (Programación Orientada a Objetos)
La Programación Orientada a Objetos (POO) es un paradigma de programación, es decir, un modelo o un estilo de programación que nos da unas guías sobre cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos.
Clase
Una clase es una plantilla. Define de manera genérica cómo van a ser los objetos de un determinado tipo. Por ejemplo, una clase para representar a animales puede llamarse ‘animal’ y tener una serie de atributos, como ‘nombre’ o ‘edad’ (que normalmente son propiedades), y una serie con los comportamientos que estos pueden tener, como caminar o comer, y que a su vez se implementan como métodos de la clase (funciones).
La clase es la descripción de un conjunto de objetos similares, es decir, que comparten los mismos atributos y los mismos métodos. La clase es el bloque constructor
más importante de cualquier lenguaje de POO.

Objeto
Un ejemplo sencillo de un objeto, como decíamos antes, podría ser un animal. Un animal tiene una edad, por lo que creamos un nuevo atributo de ‘edad’ y, además, puede envejecer, por lo que definimos un nuevo método. Datos y lógica. Esto es lo que se define en muchos programas como la definición de una clase, que es la definición global y genérica de muchos objetos.
Desde el punto de vista del mundo real, un objeto tiene dos propiedades esenciales:
un estado y un comportamiento:
El estado.
Son los datos asociados con el objeto, los cuales indican su situación interna en un momento dado, por ejemplo: velocidad, calificación, color, capacidad, encendido/apagado, saldo, etc.
El comportamiento.
Es la manera en la que el objeto responde a estímulos del exterior, por ejemplo, lo que sucede cuando se oprime el botón “inicio”, lo que sucede cuando se hace un retiro de una cuenta bancaria o cuando se oprime el botón “reiniciar” en un contador.
Las ventajas de la POO
También se mejora el desarrollo de software a gran escala. Los equipos de programadores trabajan sobre objetos diferentes y, posteriormente, se integra el trabajo de todos haciendo uso de las interfaces (la cara hacia afuera) de los objetos.
En la POO podemos, por ejemplo, diseñar el código para un botón virtual genérico que detecta el "click" del mouse y llama a una función. El código del botón se reutiliza cada vez que queremos crear un botón, pero con características particulares para cada caso,
Subtopic
El mantenimiento se facilita con el paradigma orientado a objetos, por-
que el software queda bien organizado y protegido. De esta manera, un programador entiende mejor el código de otro y hay menor riesgo de que sus cambios afecten el trabajo de los demás.

