Ir al contenido principal

Java. Introducción a POO. Qué es un Objeto.

Java: Lenguaje de programación orientado a objetos.
POO: Programación Orientada a Objetos.

*Una síntesis y traducción de https://docs.oracle.com/javase/tutorial/java/concepts

Los objetos son la clave para comprender la tecnología orientada a objetos. En el mundo real existen muchos objetos: perro, escritorio, televisor, bicicleta, etc. Estos, comparten 2 características: estado y comportamiento.

Ejemplos:


  1. El objeto "perro" tiene estado (nombre, color, raza) y comportamiento (ladrando, moviendo la cola).
  2. El objeto "notebook" tiene estado (marca, tamaño, peso, color, material) y comportamiento (encender, apagar, funcionar, procesar).


Piensa en otros objetos que encuentres en la vida real y piensa en sus estados y comportamiento y juega un poco con estos conceptos. Te darás cuenta de que algunos objetos varían en su complejidad y que algunos incluso contienen otros objetos. Estas observaciones concuerdan con lo que ocurre en la programación orientada a objetos.

Los objetos de software son conceptualmente similares a los de la vida real. También tienen un estado y un comportamiento. Un objeto almacena su estado en un campo (o variable) y muestra su comportamiento a través de métodos (o funciones). Los métodos operan en el estado interno de un objeto y sirven como el mecanismo primario de comunicación entre objetos. Ocultar el estado interno y solicitar que toda la interacción sea realizada a través de un método de objeto es llamado encapsulamiento -un principio fundamental en la programación orientada a objetos. 

Considera una bicicleta:

  • Estado:
    • Velocidad actual: 18 millas por hora
    • Cadencia de pedaleo actual: 90 rpm
    • Cambio actual: 5to.

  • Comportamiento:
    • Cambiar cadencia
    • Cambiar cambio
    • Frenar
Dándole atributos al estado (velocidad actual, cadencia de pedaleo actual, y cambio actual) y otorgándole métodos para cambiar ese estado, el objeto permanece en control de cómo al mundo exterior se le permite usarlo. Por ejemplo, si la bicicleta sólo tiene 6 cambios, un método para cambiar los cambios, podría rechazar cualquier valor menor a 1 o mayor a 6.

Agrupar código en objetos de software individuales,  tiene varios beneficios, incluyendo:
  1. Modularidad: el código fuente de un objeto puede ser escrito y mantenido independientemente del código fuente de otros objetos. Una vez que ha sido creado, se puede pasar fácilmente al rededor de un objeto dentro del sistema.
  2. Ocultamiento de Información: Al interactuar sólo con los métodos de un objeto, los detalles de su implementación interna, quedan ocultos del mundo exterior.
  3. Reutilización de Código:  Si un objeto ya existe (tal vez escrito por otro desarrollador), puedes usar ese objeto en tu programa. Esto permite a especialistas implementar/probar/depurar objetos complejos que luego puedes correr con confianza en tu propio código.
  4. Facilidad de insertar (plug in) y depuración: Si un objeto en particular resulta ser problemática, puedes sencillamente removerlo de tu aplicación e insertar (plug in) un objeto diferente como su reemplazo. Esto es análogo a solucionar problemas mecánicos en el mundo real. Si un tornillo se rompe, reemplazas ese tornillo, no la máquina entera.



Comentarios

Entradas populares de este blog

Pseudocódigo. PSeint. Variables.

Descarga PSeint en  Sourceforge , instálalo y ejecútalo.

Sobre este Blog

La creación de este blog obedece a la necesidad que actualmente tengo de comprender mejor todo lo relacionado a los rudimentos de la programación. Como consecuencia de eso, organizaré toda la información a la que tenga acceso respecto a esto y la compartiré para que otros, que como yo estén iniciándose en el mundo de la programación, puedan hacer uso de ella. Por el momento, este blog tratará acerca de pseudocódigo (utilizaremos PSeint) y de modelamiento de bases de datos.