
Una de las características que hacen que Java sea tan poderoso es su estructura orientada a objetos. Esto significa que Java usa clases y objetos para crear código más escalable, modular y organizado. Sin embargo, este puede ser un concepto complejo a considerar como nuevo desarrollador. Entonces, en esta publicación veremos cómo usar las clases en Java.
Lea también: Curso para principiantes de Java – Una guía gratuita y completa de los conceptos básicos de Java
¿Qué son las clases en Java?
Si no está familiarizado con el concepto de programación orientada a objetos, este es el mejor lugar para comenzar. Si ya sabe qué es una clase y solo desea aprender la sintaxis de Java, puede omitir esta sección.
Lea también: ¿Qué es la programación orientada a objetos?
Entonces, ¿qué es una clase? Una clase es un fragmento de código que construye un objeto. Un objeto es una "cosa" conceptual que existe puramente en términos de los datos que lo describen. Los objetos tienen propiedades (llamadas variables) y funciones (llamadas métodos). Esto es exactamente lo mismo que un objeto en el mundo real: un perro, por ejemplo, tiene propiedades (pelaje marrón, cuatro patas, 30 cm de altura) y funciones (ladrar, dormir, darse la vuelta, hacer caca).
La única diferencia entre un objeto en el mundo real y un objeto en código es que el objeto de código necesita un cuerpo físico.
Por ejemplo, un chico malo en un juego de computadora podría ser un objeto. Este villano tiene variables (velocidad de movimiento, salud, sprite) y tiene métodos (disparar, moverse a la izquierda, moverse a la derecha, explotar). Ese chico malo "existe" en el código independientemente de si podemos verlo o no en la pantalla. Entonces es un objeto de datos.
Instancias de objetos
La clase es el fragmento de código que crea el objeto de datos. Nuestra clase "BadGuy", por lo tanto, se utiliza para crear villanos. Pero esta es la siguiente distinción importante a hacer: el código BadGuy no verifica a un solo malo . Más bien, le dice a la computadora que asigne los datos que representarán a un villano. Y podemos ejecutar ese código varias veces para crear más villanos.
Existe una clase de Goomba que puede crear tantos Goombas como sea necesario en un momento dado.
Entonces, en Super Mario, es poco probable que haya una pieza de código separada para cada Goomba en el juego. En cambio, probablemente existe una clase Goomba que puede crear tantos Goombas como sea necesario en un momento dado. Esto hace que el código sea más eficiente.
La metáfora que se usa a menudo aquí es que las clases en Java son "proyectos" mientras que los objetos son ejemplos únicos de ese producto.
Y llamamos a cada producto creado por una clase dada una instancia de ese objeto.
Cómo usar clases en Java
Entonces, con todo esto en mente, ¿cómo se hace el uso de clases en Java?
Aquí hay una clase "BadGuy" muy simple que asigna valores a variables como "salud" y les da la oportunidad de dispararnos:
class BadGuy { velocidad int estática = 3; salud int estática = 5; static int xPosition = 20; static int yPosition = 100; disparar vacío estático público () { System.out.println ("¡Pew pew!"); } }
Ahora podemos llamar a nuestra clase BadGuy desde nuestro código "Main" (que es una clase propia) simplemente diciendo:
class Main { public static void main (String [] args) { BadGuy.shoot (); } }
Entonces, ¿qué está pasando aquí? Primero, creamos nuestra clase escribiendo "clase" seguido del nombre de nuestra clase. En Java, se considera una buena práctica utilizar mayúsculas / minúsculas al elegir nombres de clases con una primera palabra en mayúscula. El caso camel simplemente significa que eliminas todos los espacios y en su lugar escribes en mayúscula cada palabra. Entonces: "BadGuy", no "Bad_Guy" o "badguy". Esto es opcional pero contribuye al código legible, especialmente si alguien más está trabajando en él.
Luego creamos variables estáticas globales, seguidas de un método estático público llamado "disparar" que dibujará "¡Pew pew!" en la pantalla.
La palabra "público" significa que se puede acceder a un método desde fuera de una clase. Esto significa que podemos llamar a ese método desde nuestra clase Main, pero tenemos que decirle a Java dónde buscar. Por eso decimos "BadGuy.shoot ();".
Tenga en cuenta que muchas de las declaraciones en Java también usan puntos de esta manera (como System.out.println). Esto se debe a que las clases en Java son absolutamente fundamentales para su funcionamiento. ¡Muchas de las instrucciones que usa regularmente son en realidad métodos que pertenecen a clases integradas!
Creando instancias de objetos
La razón por la que usamos la palabra clave "estática" cuando nos referimos a variables y métodos es porque no queremos vincular nuestra clase a ninguna instancia específica de la # 39; objeto. Por el momento, nuestra clase BadGuy no puede crear varios malos, cada uno con valores diferentes para su salud y velocidad.
Para cambiar esto, necesitamos eliminar la palabra clave estática y crear una o más instancias del objeto:
class Main { public static void main (String [] args) { BadGuy badGuy1 = nuevo BadGuy (); BadGuy badGuy2 = nuevo BadGuy (); System.out.println (Integer.toString (badGuy1.health)); System.out.println (Integer.toString (badGuy2.health)); } } class BadGuy { int velocidad = 3; int salud = 5; int xPosition = 20; int yPosition = 100; disparar vacío estático público () { System.out.println ("¡Pew pew!"); } }
Este código crea dos instancias de BadGuy y, por lo tanto, puede mostrarnos el estado de cada una de ellas. Por lo tanto, podemos afectar la salud de solo uno de nuestros villanos de esta manera:
class Main { public static void main (String [] args) { BadGuy badGuy1 = nuevo BadGuy (); BadGuy badGuy2 = nuevo BadGuy (); badGuy2.getHit (); System.out.println (Integer.toString (badGuy1.health)); System.out.println (Integer.toString (badGuy2.health)); } } class BadGuy { int velocidad = 3; int salud = 5; int xPosition = 20; int yPosition = 100; disparar vacío estático público () { System.out.println ("¡Pew pew!"); } public void getHit () { Salud--; } }
Tenga en cuenta que el método "getHit" no incluye la palabra clave "estática". Esto significa que el método actuará sobre la instancia del objeto de modo que solo se vea afectada la salud de un villano en particular. Por lo tanto, no podemos decir: BadGuy.getHit (); sin haber construido primero un nuevo objeto.
¡Ojalá todo tenga sentido ahora y pueda ver cómo podemos usar clases en Java para crear muchas instancias del mismo "objeto" que pueden ejecutarse simultáneamente!
Cómo usar constructores en Java
Lo último que necesitas aprender sobre el uso de clases en Java es el rol del constructor
Un constructor es un tipo especial de método en una clase que se utiliza para "construir" esa clase definiendo sus valores tan pronto como se crea. Es posible que desee, por ejemplo, crear varios villanos, cada uno con diferentes cantidades de fuerza para empezar. Alternativamente, si estuviera creando una base de datos de cliente, podría usarla para crear nuevas entradas donde cada una tuviera un nombre, número de teléfono, etc. Varios.
El método constructor debe tener el mismo nombre que la clase. Luego, necesitamos pasar argumentos (variables) que podemos usar para definir los valores que queremos establecer durante la inicialización. Por lo tanto, debemos asegurarnos de agregar esas variables entre paréntesis cuando creamos nuevas instancias de los objetos.
El código final se ve así:
class Main { public static void main (String [] args) { BadGuy badGuy1 = nuevo BadGuy (3, 5, 20, 100); BadGuy badGuy2 = nuevo BadGuy (3, 27, 20, 100); badGuy2.getHit (); System.out.println (Integer.toString (badGuy1.health)); System.out.println (Integer.toString (badGuy2.health)); } } class BadGuy { velocidad pública int; salud pública; public int xPosition; public int yPosition; public BadGuy (int badGuySpeed, int badGuyHealth, int badGuyxPosition, int badGuyyPosition) { velocidad = badGuySpeed; salud = badGuyHealth; xPosition = badGuyxPosition; yPosition = badGuyyPosition; } disparar vacío estático público () { System.out.println ("¡Pew pew!"); } public void getHit () { Salud--; } }
¿No sabes cuáles son los argumentos? Así que asegúrese de leer nuestra guía sobre métodos de llamada en Java.
Comentarios finales
Entonces, ¡esto es todo lo que necesita saber sobre el uso de clases en Java! Este es un concepto de alto nivel que has aprendido a hacer, ¡así que date una palmada en la espalda! Si se siente cómodo con las lecciones y los objetos, es probable que esté listo para continuar con su aprendizaje. Consulte la lista de los mejores lugares para aprender Java y obtener una educación completa en Java a precios muy reducidos.