Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Constructores

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

35 minutos

La ficha del equipo

Te apuntas al equipo de fútbol del instituto. El entrenador te da una ficha en blanco.

Si la deja vacía, tendrá que rellenarla después a mano. Es más cómodo rellenarla en el momento de apuntarte.

En Java pasa igual. Hoy aprendes a crear un objeto que nace ya relleno.

Palabras clave

PalabraQué significaEjemplo
ConstructorUn trozo de código de la clase que se ejecuta al crear un objeto con new.Player(String name)
ParámetroUn dato que le das al constructor entre paréntesis.String name
thisSignifica este objeto, el que se está creando ahora.this.name
Valor por defectoLo que vale un atributo si nadie lo rellena: 0, false o null.int goals; vale 0
Dos constructoresUna clase puede tener varios. Java elige según los datos que das.con dorsal y sin dorsal

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Antes: rellenar a mano

Código: java
class Player {
    String name;
    int number;
    int goals;
}

public class Main {
    public static void main(String[] args) {
        Player player = new Player();
        System.out.println(player.name + " " + player.number + " " + player.goals);

        // Hay que rellenarlo a mano, atributo por atributo.
        player.name = "Lucía";
        player.number = 9;
        System.out.println(player.name + " " + player.number + " " + player.goals);
    }
}

Un objeto vacío vale cero y nada

Habrás visto null 0 0 en la primera línea. Un texto sin rellenar vale null, que significa nada.

Un número sin rellenar vale 0. Un boolean sin rellenar vale false.

Es fácil olvidarse de un dato. Un constructor lo evita.

El constructor se llama como la clase

Un constructor es como un método, pero sin tipo y con el mismo nombre que la clase.

Recibe datos entre paréntesis. Dentro los guarda en los atributos.

Hay un detalle. El parámetro y el atributo se llaman igual. Con this.name dices: el atributo de este objeto.

Pruébalo: el jugador nace relleno

Código: java
class Player {
    String name;
    int number;
    int goals;

    // Se ejecuta con new, justo al crear el jugador.
    Player(String name, int number) {
        this.name = name;
        this.number = number;
        goals = 0;
    }
}

public class Main {
    public static void main(String[] args) {
        Player player = new Player("Lucía", 9);
        System.out.println(player.name + " lleva el " + player.number);
        System.out.println("Goles: " + player.goals);
        // Crea otro jugador con tus datos.
    }
}

Ejemplo resuelto: new Player("Lucía", 9)

PasoQué ocurrenamenumbergoals
1new fabrica el objeto vacíonull00
2this.name = nameLucía00
3this.number = numberLucía90
4goals = 0Lucía90

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Repaso rápido

Inténtalo

Repaso rápido

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

Una clase, dos constructores

A veces no tienes todos los datos. Por ejemplo, un jugador nuevo aún no tiene dorsal.

Puedes escribir dos constructores con distintos parámetros. Java elige el que encaja con lo que escribes en new.

Así, new Player("Leo") usa el corto y new Player("Leo", 7) usa el largo.

La lección continúa

6 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.