POO
Poo hace referencia a las siglas de Programación Orientada a Objetos.
Java es un lenguaje orientado a Objetos. Básicamente podemos decir que todo en Java es un Objeto.
Si ya estás naturalizado con el paradigma, sáltate esta explicación. Pero si no es el caso, te invito a mirar esta pequeña introducción y a continuar investigando en internet.
POO es un Paradigma de programación. Un paradigma es algo que "no se discute" y usaremos como base para construir el resto. Los conceptos aportados por el paradigma, las reglas y restricciones no deben ser cuestionadas (O al menos dentro de lo posible).
Si vienes del paradigma funcional (con lenguajes del estilo de C), estas acostumbrado a las funciones. Las funciones son porciones de código reutilizables, que utilizan entradas para procesarlas y obtener salidas.
Es fácil hacer una vinculación con las funciones que vemos en matemáticas, pero con menos restricciones... podemos hacer que tengan varias salidas, varias entradas, que estén anidadas, etc.
El cambio de mentalidad con Objetos es el siguiente: Los objetos manipulan sus propios datos e interactúan con otros para ser modificados o alterarlos de forma indirecta. De igual manera interactúan entre ellos para obtener información.
El paradigma de Objetos sirve debido a la posibilidad de abstraer la realidad a bloques de código.
Vamos de a poco...
Un objeto es una Instancia de una clase. Tienen Propiedades, métodos e identidades.
Una clase es lo más parecido a una plantilla donde se rellenan los datos propios de la instancia.
Una propiedad es un atributo que tiene un objeto en el caso particular del mismo. Estas propiedades son "variables" del programa, pero asociadas al objeto en sí. Los nombres suelen ser sustantivos o adjetivos.
Un método es una acción que puede ejercer el objeto. Se puede hacer una relación con las Funciones del paradigma funcional. Los nombres suelen ser verbos.
La identidad es una propiedad que permite diferenciar al objeto del resto de su misma clase.
Un ejemplo para ir entendiendo un poco mas.
Vamos con un ejemplo bastante típico: La clase Auto.
Un auto tiene un numero de patente que lo diferencia del resto, ese será su identificador (id). También tiene otras propiedades en común con el resto de los autos: tiene un Color, un NumeroDePuertas, VelocidadMaxima, CaballosDeFuerza, Modelo, Marca, PaisDeOrigen, VelocidadActual, Estado (Prendido o Apagado)... solo por enumerar unas pocas.
Bien, también un auto puede ejercer ciertas acciones que modifican el entorno en el que se encuentra o a si mismo. Por ejemplo, para ir de un lado al otro debe Acelerar. Si hay que usarlo, se debe poder Prender.
Ya con esto podemos hacer una clase. Parece poco, pero es bastante. El desafío en POO es saber abstraer la realidad (En este caso, un Auto) y llevarlo a código de la manera mas intuitiva posible.
Ya analizamos la clase Auto y en la siguiente parte veremos como llevarla a código Java. Pero antes terminemos de entender Poo.
Con la clase lista, podemos crear instancias de la misma u objetos. Por ejemplo el objeto Gol1 de la clase Auto.
Un gol tiene 5 puertas, una velocidad máxima de 185km/h, 75 caballos de fuerza y es fabricado en Brasil.
Nuestra instancia Gol1 tendrá una patente "AXT 100011", será de color Rojo y, en un principio, estará apagado y quieto.
Por ultimo vale aclarar que la instancia tendrá los métodos (acciones) Prender y Acelerar.
Aquí una imagen resumiendo:


No hay comentarios.:
Publicar un comentario