Java

Java y POO

/

Después de que hayas lanzado tu primer hechizo de programación y ver como el Hola Mundo aparecía de la nada delante de tus ojos, es el momento de aprender algunas cosas importantes. La primera de ellas es saber que relación hay entre Java y POO (Programación Orientada a Objetos).
Una fruta como una clase

Java es un lenguaje orientado a objetos (si lo recuerdas, hemos hablamos un poco sobre ello aquí). ¿Qué significa? Básicamente es un paradigma de programación. También existen otros paradigmas como pueden ser la programación funcional, orientada a aspectos, etc., pero aquí solo nos vamos a preocupar sobre Java y POO.

Y como ante todo hay que ser honesto, lo primero que diré es que no voy a hablar mucho sobre este tema. Tenéis montones y montones de enlaces y libros donde se explica exhaustivamente lo que es la programación orientada a objetos, como por ejemplo la Wikipedia. Pero de todas maneras lo que sí que vamos a intentar es entender que es conceptualmente y ver como se relaciona con Java.

Básicamente todo en Java son objetos (por lo menos ahora, al principio había unos tipos de datos llamados primitivas que eran un caso raro). Estos objetos son implementacines de clases.

¿Qué son clases? Una clase es una representación de algo. Puedes tener una clase llamada fruta y que represente una fruta como si fuera un diagrama. Pero si lo que quieres es comerte una fruta, no podrás con el diagrama (o sí si te gusta el papel, claro), sino que necesitarías una fruta real y eso sería el objeto.

Un objeto es la implementación de una clase. Puedes planteártelo como si una clase fuera la idea y el objeto la realidad. En una clase puedes definir una serie de propiedades y puedes definir las acciones que puedes hacer con ellas.

Por ejemplo, puedes tener una propiedad que sea el color y un método para saber que color es. En Java sería algo como lo siguiente:

class Fruta {
    private String color;
    
    public String getColor () {
        return color;
    }
}

Bien, aquí vemos que tenemos una clase llamada Fruta. Eso significa que tenemos una cosa imaginaria llamada Fruta. Y podemos ver que dentro tiene dos cosas; la primera:

private String color;

Eso es la definición de una propiedad. Ya hablaremos en futuras entradas sobre que significa private y String pero aquí lo importante es que veas como se ha definido una variable (una variable es algo que tiene un valor).

Y la segunda cosa es:

public String getColor () {
    return color;
}

Eso es la definición de un método, que es una acción de algo que se puede hacer dentro de una clase Fruta. En este caso, le estás diciendo a alguien cuál es el color de la fruta.

Hasta aquí tienes el “esqueleto” de la fruta, pero no puedes hacer nada con ella porque, como hemos dicho antes, es imaginaria. Si quieres utilizar esta clase, necesitas invocar un objeto de esta clase. Esto lo puedes imaginar como coger el diagrama y construirla (y sí, nunca mejor dicho, porque invocarás al constructor de la clase, pero de esto ya hablaremos). Para invocar un objeto de esta clase, solo tienes que hacer lo siguiente:

Fruta f = new Fruta();

Vale, sigue pareciendo magia negra. Pero esto lo verás un montón de veces y se volverá muy común para ti. Básicamente solo estás diciendo que tu quieres tener un objeto llamado “f” que sea del tipo Fruta y para eso necesitas usar el comando “new”.

Por ahora es suficiente. Más o menos ahora deberías saber cuál es la relación entre Java y POO y que significa conceptualmente la programación orientada a objetos.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>