lunes, 11 de noviembre de 2019

Capitulo #0 - Java - primeros conceptos.

Con este post quiero empezar lo que sería una serie de entradas enfocadas al lenguaje de programación Java el cual en entradas anteriores ya indicamos como instalar NetBeans y JDK en Windows.

Cuando yo empecé a estudiar Java hace relativamente poco tiempo, me era imposible abstraer conceptos que son básicos y que si no los entiendes simplemente lo único que se consigue es simplemente mecanizar patrones de código que te pueden requerir en exámenes y poco más.

Yo no estoy para nada de acuerdo con esto y creo que el hecho de simplificar y explicar los conceptos de manera en que cualquier persona lo pueda entender resultaría más beneficioso tanto para alumnos como para profesores.

En breves entenderéis perfectamente a que me refiero.

¡Empezamos!

Cuando nos dicen Java es un lenguaje de programación orientado a objetos al principio nos quedamos como "ah, vale, guay" y no sabemos muy bien en qué se diferencia de otros lenguajes como podría ser HTML que es un lenguaje de marcas.

Para yo interiorizar que es eso de "orientado a objetos" lo que hice es imaginarme objetos cotidianos que tuviese cerca, como el paquete de galletas maría que tengo aquí a mi lado, como el Lamborghini Gallardo de mis sueños, como la botella de Ron Barceló de mi estantería, o incluso como mi mascota, una ratita llamada Madame Roquefort.

Ahora era simplemente meter ese objeto dentro de una plantilla que describiese sus propiedades y acciones que pudiese realizar.

Pues más o menos esto pero con otras palabras sería la explicación general y simplona de lo que es Java, salvo que cuando yo lo estudié, cuando leí qué era un objeto la descripción que me encontré fue la siguiente.


"Un objeto es una instancia de una clase"


De puta madre compañero, me quedaste igual que estaba (recordemos que todos empezamos siendo Noobs), hay al menos 3 palabras de esa frase que no entiendo, ni objeto ni instancia ni clase.

Por eso, interiorizar para mi objetos de la vida real como ya comenté me hizo mucho más fácil entender esta frase. Ahora lo que me quedaba por entender era qué carajos era una clase.

La clase no es más que la plantilla que describe las propiedades (atributos) y acciones (métodos) de ese objeto, no hay más.

Por tanto un ejemplo, volviendo al ejemplo de mi ratita Madame Roquefort, Madame Roquefort sería el objeto dentro de una clase que sería Rata, y los atributos que posee son una edad, un color, un peso, un género, etc. Las acciones (métodos) que puede realizar son dormir, comer, saltar, correr, escalar...entre otros muchos.

De esta manera yo aprendí que una clase es una plantilla para la creación de objetos y estos tienen atributos y métodos.

 Es así a groso modo, no obstante os dejo estos códigos:




Primero de todo, que no cunda el pánico.

Se que son muchas letras raras, paréntesis, corchetes, colores y que a primera vista satura muchísimo para alguien que a lo mejor nunca ha visto código Java.

Os explicaré en el siguiente post cómo he realizado con NetBeans este proyecto java pero ahora no quiero saturar demasiado. Os explicaré que es eso también de Package (Paquete), constructores y tipos de variables que he usado en la siguiente imagen.

De momento, nos quedaremos con que he creado una clase.

public class Rata (){

 }
Dentro de esa clase, he creado un constructor (lo que nos genera el objeto "MadameRoquefort" en la imagen 2)

public Rata (){ 
}
Y luego he creado los métodos (acciones) que puede realizar mi rata, como por ejemplo dormir.


public void dormir(){
}
Y dentro de este método, he ordenado que se muestre por pantalla con la sentencia System.out.printl(""); lo que yo quería mostrar, como por ejemplo la frase "Madame está dormida"

Eso sería un ejemplo de crear una clase, un constructor de objetos y varios métodos que puede realizar ese objeto.

Ahora, pasamos a la imagen número 2:




Esta es la clase "Main" (principal), la más importante y la que se ejecuta.

De momento nos vamos a olvidar de public static void main(String[] args) {} y vamos a pasar a crear el objeto MadameRoquefort.

Como en la anterior imagen ya hemos creado el constructor de objetos public Rata(){} ahora podemos crear a madameRoquefort con la sentencia clase nombreobjeto=nuevo clase();

Rata madameroquefort=new Rata();
Hemos creado variables de varios tipos. Una variable no es más que un espacio de memoria que contiene un dato o valor que pueden ser numéricos, cadenas de texto, datos de tipo boolean (verdadero/falso), caracteres, etc.

Seguidamente he mandado a imprimir por pantalla esos datos con la sentencia System.out.println(""); y he concatenado (unido) el texto a mostrar con las variables que he creado anteriormente con String y Short (que también explicaré más adelante)

System.out.println("El nombre de mi rata es "+nombre); 
Y por último, poniendo el nombre de mi objeto madameroquefort he mandado a llamar a los métodos de la clase Rata que había creado en la imagen 1.

Por lo tanto, una vez le de a iniciar el programa, me mostraría algo tal que así:






Y ya estaría por hoy. Es posible que de primeras asimilar tantos conceptos es posible que no apetezca demasiado.

Ha sido un primer ejemplo de programa bastante estúpido/gracioso a propósito porque creo que algo que nos hace gracia o nos genera simpatía es mucho más fácil de recordar y de generar interés. Podría haber sido un objeto que fuese un médico de un hospital o un coche que nosequé...vamos, en definitiva un programa que no te genera ninguna empatía ni ganas de practicar con "objetos" de vuestro entorno.

Pero bueno, espero que hayan quedado claros los conceptos de objetos y clases, los demás los seguiremos desarrollando en nuevas entradas así que 0 dramas.

Nos vemos en la siguiente publicación
¡Un saludo!

No hay comentarios:

Publicar un comentario