Un molde y muchas canciones
Abre la lista de música de tu móvil. Cada canción tiene un título, un artista y una duración.
Todas guardan los mismos datos. Pero cada una tiene valores distintos.
Java hace lo mismo. Primero dibujas un molde. Después fabricas todas las piezas que quieras con ese molde.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Clase | El molde. Dice qué datos tendrá cada pieza. | class Song |
| Objeto | Una pieza hecha con el molde, con sus propios valores. | una canción concreta |
| Atributo | Un dato que guarda cada objeto. Es una variable que vive dentro de él. | String title; |
| new | La palabra que fabrica un objeto nuevo. | new Song() |
| Punto | El signo que usas para llegar a un atributo de un objeto. | song.title |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
La clase es el molde
Ya conoces class Main. Era una clase, aunque solo servía para guardar main.
Ahora vamos a crear una clase nueva. Escribe class, un nombre con mayúscula y unas llaves.
Dentro de las llaves pones los atributos. Cada atributo lleva su tipo y su nombre, como una variable.
Pruébalo: dos canciones
// El molde: toda canción tiene estos tres datos.
class Song {
String title;
String artist;
int seconds;
}
public class Main {
public static void main(String[] args) {
Song first = new Song();
first.title = "Canción del verano";
first.artist = "Los Vecinos";
first.seconds = 215;
Song second = new Song();
second.title = "Noche de fútbol";
second.artist = "Banda del Barrio";
second.seconds = 180;
System.out.println(first.title + " de " + first.artist);
System.out.println(second.title + " de " + second.artist);
}
}
new fabrica, el punto llega
Esta línea hace dos cosas: Song first = new Song();
A la izquierda, Song first crea una variable que guardará una canción. A la derecha, new Song() fabrica la canción.
Después usas el punto. first.title significa: el título de la canción first.
Ejemplo resuelto: lo que guarda cada objeto
| Objeto | title | artist | seconds |
|---|---|---|---|
| first | Canción del verano | Los Vecinos | 215 |
| second | Noche de fútbol | Banda del Barrio | 180 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Repaso rápido
Inténtalo
Repaso rápido
3 preguntasTus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.
Pruébalo: cada objeto es suyo
class Song {
String title;
String artist;
int seconds;
}
public class Main {
public static void main(String[] args) {
Song first = new Song();
first.title = "Canción del verano";
first.seconds = 215;
Song second = new Song();
second.title = "Noche de fútbol";
second.seconds = 180;
// Cambiamos solo la primera.
first.seconds = first.seconds + 20;
System.out.println(first.title + ": " + first.seconds + " s");
System.out.println(second.title + ": " + second.seconds + " s");
// ¿Por qué la segunda no ha cambiado?
}
}