Domina los conceptos principales de Java y la POO: Clases, Objetos, Mensajes, y Herencia en Java

Una forma infalible de comenzar a comprender y a aprender algo es viendo un ejemplo funcional de ello. Al menos en el mundo de la programación un buen ejemplo vale más que varios artículos hablando del tema, así que sin más preámbulo, comencemos con un buen ejemplo de un programa en Java y sus conceptos principales explicados paso a paso y de forma sencilla de comprender :)

Un ejemplo para programar en Java

A modo de ilustración, imaginemos que tenemos una fábrica de galletas, tenemos diferentes tipos de galletas con diferentes formas sabores y colores. Al tener diferentes formas necesitaremos entonces diferentes moldes para las galletas que fabricamos, necesitaremos diferentes recetas para el sabor de cada una y por ultimo diferentes colores o maneras de darle color a nuestras galletas. Vamos entonces a juntar nuestra historia con los conceptos fundamentales de Java.

¿Qué son las clases en Java?

Una clase en lenguaje de programación Java se puede entender como un prototipo que define las variables (lo que lo diferencia de otras) y los métodos (las acciones que peude realizar) comunes a un cierto tipo de instancias.

En nuestro ejemplo de la fábrica de galletas, la clase sería uno de los moldes para galletas, junto con los métodos para colorearlas y la receta (método para prepararlas). Quiere decir que en nuestro programa de Java tendremos una manera de especificar las caracteristicas de la galleta dado que hay diferentes moldes de galletas.

En java las clases son las matrices de las que luego se pueden crear múltiples instancias del mismo tipo. La clase define las variables y los métodos comunes a las instancias de ese tipo (el tipo de la clase creada), pero luego, cada instancia de esta clase tendrá sus propios valores (sus propio molde, color y receta) y compartirán las mismas funciones.

En java, primero deberemos crear una clase antes de poder crear instancias o ejemplares de esa clase. Evidentemente primero necesitamos los moldes y demás para poder hacer las galletas.

¿Qué son los objetos en Java?

En el ámbito del lenguaje de programación Java, un objeto es básicamente una instancia de una clase (las instancias de las que hablábamos hace un momento).

Para nuestro ejemplo de la fábrica de galletas, los objetos vendrían siendo cada una de las diferentes galletas obtenidas de los moldes definidos (clases).

Lo más importante de los objetos en Java es que permiten tener un control total sobre "quién" o "qué" puede acceder a sus miembros, es decir, los objetos pueden tener miembros públicos a los que podrán acceder otros objetos o miembros privados a los que sólo puede acceder él. Estos miembros pueden ser tanto variables como funciones.

El gran beneficio de todo esto es la encapsulación. En java el código fuente de un objeto puede escribirse y mantenerse de forma independiente a los otros objetos contenidos en la aplicación (mas adelante veremos esto con más detalles).

¿Qué son los mensajes en Java?

Para poder crear una aplicación Java que sea un tanto robusta, es muy probable que necesitemos más de un objeto (más de una instancia de una clase), y probablemente algunos de estos objetos no deben estar aislados unos de otros, pues bien, para comunicarse, esos objetos se envían mensajes entre sí.

Los mensajes son simples llamadas a las funciones o métodos del objeto en particular con el cual se quiere comunicar para solicitarle que ejecute alguna "accion" según sus métodos y/o atributos.

En nuestro ejemplo de la fábrica de galletas, los mensajes vendrían siendo la manera de manipular la maquina encargada de crear galletas diciéndole qué receta, colores o que molde usar en un momento cualquiera.

¿Qué es la herencia en Java?

¿Qué significa esto de la herencia?, ¿quién hereda qué?, bueno calma, no entres en pánico, esto sólo significa que en Java puedes crear una clase partiendo de otra que ya exista.

Es decir, puedes crear una clase a través de una clase existente, y ésta clase tendrá todas las variables y los métodos de su "superclase", y además se le podrán añadir otras variables y métodos propios.

Se llama "Superclase" a aquella clase de la cual desciende una clase, más adelante veremos un poco más de esto al detalle.

Vamos a ver un pequeño ejemplo basado en la fábrica de galletas que hemos estado tratando a lo largo de este artículo. Vamos a crear una pequeña clase llamada "Galleta" que contendrá los diferentes atributos.

Ejemplo de una clase en Java

public class Galleta { private String molde; private String receta; private String color; public Galleta() { //Constructor } public Galleta fabricar_galleta() { //Método para fabricar galletas } }

De momento no pretendo profundizar mucho con respecto a esto. En el código anterior están implementados algunos de los conceptos mencionados en este artículo. Si no comprendes bien el código, no te preocupes que a lo largo de este curso de Java iré explicando todo esto.

Muy bien, probablemente ya tienes cierta noción acerca de lo que estamos hablando y no es necesario profundizar mucho más por ahora, recuerda que si no estás entendiendo algo de lo que he hablado anteriormente en esta sección, no debes preocuparte, pues más adelante iré clarificando todo con más detalle, si tienes alguna duda o sugerencia usa la sección de comentarios que se encuentra al final de este artículo.

¡Listo! Vamos a la siguiente sección para conocer un poco acerca de algunos entornos de desarrollo para Java y tener una buena herramienta de trabajo para programar en Java.

La última actualización de este artículo fue hace 4 años

Foto de JuanDMeGon

Juan David Meza González

JuanDMeGon

Magister, Ingeniero, Desarrollador
Web & Instructor

¡Listo!

En breve recibirás un mensaje de confirmación. Verifica, por si acaso, la carpeta de correo no deseado.

...

Si te parece bien, te enviaré de vez en cuando, mensajes de interés sobre los temas que se tratan en el sitio.

Tu dirección de correo electrónico será almacenada con un interés según el artículo en el que te encuentres.

Por supuesto, puedes cancelar tu suscripción en cualquier momento.