Cuatro elementos claves para entender poo en java

16

Transcript of Cuatro elementos claves para entender poo en java

Page 1: Cuatro elementos claves para entender poo en java
Page 2: Cuatro elementos claves para entender poo en java

Cuatro elementos claves para entender POO en Java

Como es sabido, Java es un lenguaje orientado a objetos y para programar aplicaciones robustas, eficientes y escalables en Java es necesario entender cómo funcionan los objetos, es por eso que esta vez te voy a enseñar los 4 elementos importantes que debes conocer para entender y aplicar la Programación Orientada a Objetos en Java, también conocida también por sus siglas como POO.

La POO es un paradigma de programación (un modelo), la cual permite relacionar los objetos del mundo real y de alguna manera llevar estos conceptos a la programación.

Y como se puede relacionar los objetos del mundo real con la programación?, pues bueno lo que se intenta es crear sistemas basados no sólo en código sino más bien pensar en objetos que se comuniquen entre sí, reutilizar código y de alguna manera modularizar un programa.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 3: Cuatro elementos claves para entender poo en java

Para entender mejor, imagina el cuerpo humano, tiene un conjunto de partes internas que necesita para funcionar, estas partes están agrupadas en sistemas, por ejemplo sistema nervioso, digestivo, linfático, respiratorio etc., cada uno tiene una estructura que agrupa funcionalidades específicas para formar un sistema, por ejemplo el sistema digestivo se encarga de la absorción y transformación de los alimentos.

Si te das cuenta todo muy organizado, separado y agrupado de acuerdo cada funcionalidad.

Eso mismo es lo que trata de simular la POO en la programación, agrupar características similares llamadas clases (que pertenezcan a un mismo tipo), a partir de esas clases crear a objetos y que esos objetos se comuniquen entre sí mismo a través de mensajes, de tal manera que la unión de todos esos objetos forme un programa.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 4: Cuatro elementos claves para entender poo en java

La base de la programación orientada a objetos en Java son las clases y objetos, entre otros términos que también escucharás por ejemplo: instancia, constructores, variables de clase, variables instancia, métodos, herencia, encapsulamiento.

Por tanto, para entender mejor este paradigma vamos a revisar cuatro conceptos fundamentales.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 5: Cuatro elementos claves para entender poo en java

ABSTRACCIÓN El término abstracción consiste en ver a algo como un todo sin saber cómo está formado internamente.

Se dice que las personas gestionan la complejidad a través de la abstracción, que quiere decir esto, por ejemplo para alguien es difícil entender todos los componentes, circuitos de un televisor y como trabajan, sin embargo es más fácil conocerlo como un todo, como un televisor, sin pensar en sus detalles o partes internas.

Para entender mejor pensemos en un Smartphone, es un sistema muy complejo que a su vez está compuesto por otros subsistemas internos o partes que lo componen, por ejemplo: sistema operativo, aplicaciones, sensores, cámara, pero en definitiva el usuario lo ve como un todo, un Smartphone sin importar cómo está compuesto, qué versión tiene el kernel del sistema operativo, que controladores se debe instalar para utilizar un sensor etc

Al usuario lo que le interesa es usarlo, saber que es un Smartphone y nada más, se abstrae de los detalles internos

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 6: Cuatro elementos claves para entender poo en java

Si te das cuenta, si el usuario quisiera entender todo los detalles y partes del Smartphone, incluso le sería más complicado usarlo.

En conclusión el concepto de abstracción trata la descomposición de sistemas complejos en partes sencillas, las cuales se pueden describir fácilmente.

Un ejemplo de abstracción en Java es una clase, ya que se la define como un todo.

El objetivo es que el usuario pueda crear objetos de esa clase, que utilice sus métodos, y que no se preocupe por su implementación o como está diseñada.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 7: Cuatro elementos claves para entender poo en java

ENCAPSULAMIENTO Cuando se habla de encapsulamiento, hablamos de ocultar la información, este concepto es un poco más claro que la abstracción.

Bueno este tema significa que sólo se debe mostrar los detalles esenciales de un objeto, mientras que los detalles no esenciales se los debe ocultar.

Podemos hacer una analogía pensando en un sistema operativo Linux, en Linux si eres un usuario root tienes todos los permisos del sistema y puedes acceder a todas la configuraciones.

Mientras que si eres sólo un usuario, solo tendrás acceso parcial al sistema (ocultación de información).

El encapsulamiento en Java lo tenemos en una clase, en la que se puede ocultar o restringir los datos (variables) o el código (métodos) utilizando palabras reservadas del lenguaje.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 8: Cuatro elementos claves para entender poo en java

HERENCIA El concepto fundamental de la herencia es el proceso en el que un objeto adquiere características de otro objeto.

Siguiendo con el ejemplo anterior del celular, un celular es un equipo con características básicas.

Ahora pensemos en un Smartphone, que es un teléfono con características muy avanzadas en cuanto al celular, pero que en sí guardan cierta relación.

Yo podría crear un Smartphone desde cero, pero si te das cuenta, hay cosas que en el celular y el Smartphone son comunes y que las podría reutilizar y no volver a crear de nuevo.

Si me voy por la opción de crear un nuevo, estoy duplicando componentes y tiempo que me lleva crearlo.

El problema anterior se soluciona utilizando la herencia, con lo que ya no crearía uno nuevo si no que heredaría del objeto celular (reutilización) y lo que haría simplemente es añadir solo las nuevas características y tendría el nuevo modelo que es el Smartphone.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 9: Cuatro elementos claves para entender poo en java

La herencia también ayuda a la reutilización, puesto que si ya tengo algo creado lo puedo reutilizar y no perder tiempo creando algo de nuevo.

En Java se maneja herencia simple, es decir que solo se puede heredar de una sola clase a la vez.

Para decir que una clase hereda de otra, se utiliza la palabra reservada extends seguido de la clase que se quiere heredar.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 10: Cuatro elementos claves para entender poo en java

POLIMORFISMO El polimorfismo es una palabra de origen griego que significa “muchas formas”, es un término un poco complejo de entender, que a veces sólo se lo entiende con la práctica.

El concepto dice que es la capacidad de un objeto para comportarse de diferentes formas de acuerdo al mensaje enviado.

Este término está relacionado con la herencia. Podemos hacer una analogía con el celular, un celular tiene la opción de llamada, tu puedes hacer una llamada y comunicarte con Pablo por ejemplo, haces otra llamada y te comunicas con Ana, si te das cuenta la función es la misma “hacer llamada” pero te comunicas con diferente persona.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 11: Cuatro elementos claves para entender poo en java

La función hacer llamada se comporta de forma diferente para cada número marcado, que este caso sería el mensaje que le envías a la función hacer llamada.

En Java un método con el mismo nombre puede comportarse de forma diferente de acuerdo al objeto recibido.

El compilador en tiempo de ejecución detecta que forma tomar de acuerdo al objeto que recibe.

Es un poco confuso pero en el ejemplo se entenderá de mejor manera.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 12: Cuatro elementos claves para entender poo en java

QUÉ ES UNA CLASE? Las clases son la base de la programación orientada a objetos, una clase es una plantilla, molde o modelo para crear objetos.

Una clase está compuesta por características, propiedades o atributos (variables) y por su comportamiento (métodos) que trabajan sobre las propiedades.

Sintaxis de una clase en Java.

class MiClase{

//Constructor de la Clase

//atributos de la clase

//métodos de la clase

}Más recursos sobre Programación Java y PHP visita

www.ecodeup.com

Page 13: Cuatro elementos claves para entender poo en java

Considera una clase como un molde, comparemos con una plantilla para crear una solicitud de permiso, estas plantillas tienen toda la información, lo único que se cambia son ciertos datos.

Y con una sola plantilla yo podría crear varias solicitudes.

De qué sirve esto, esto ayuda a no crear de nuevo una solicitud si no sólo adaptarla a un nombre específico de acuerdo al solicitante.

Así mismo son las clases, a partir de una clase se pueden crear muchos objetos, cada objeto tendrá sus propias características.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 14: Cuatro elementos claves para entender poo en java

QUÉ ES UN OBJETO? Un objeto es una instancia de una clase, una instancia es un ejemplar, un caso específico de una clase, por ejemplo yo puedo crear varios objetos de tipo clase y cada uno es diferente, por ejemplo el primero objeto es de color negro, el segundo objeto es de color blanco.

Como cada objeto es diferente se le conoce como instancia, entonces cuando escuches el término “hay que instanciar “, se refiere a crear un nuevo objeto y que cada objeto es diferente.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 15: Cuatro elementos claves para entender poo en java

CÓMO HACER HERENCIA? En este ejemplo vamos a ver como hacer herencia, pues bien, continuemos con la clase Celular.

La sintaxis de la herencia utiliza la palabra reservada extends luego el nombre de la clase que se quiere heredar:

La sintaxis para una clase con herencia viene dado de la siguiente manera:

class MiClase extends ClaseHeredar{

//Constructor de la Clase

//atributos propios de la clase

//métodos propio o sobrescritos

}

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Page 16: Cuatro elementos claves para entender poo en java

Hay que tener en cuenta que sólo se puede heredar de una sola clase y que a la clase de la que se hereda se le llama clase base, superclase o clase padre, mientras a la clase que hereda se le llama subclase.

Más recursos sobre Programación Java y PHP visita www.ecodeup.com

Esto es un resumen del artículo 4 ELEMENTOS CLAVES PARA ENTENDER POO EN JAVA.

El artículo completo con sus ejemplos lo puedes encontrar en el siguiente enlance: http://www.ecodeup.com/4-elementos-claves-para-entender-la-programacion-orientada-objetos-en-java/