Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] En la seccion de toString

Tengo duda en la parte de "this.getNombre" y "geFechaDeLanzamiento", ambos métodos son heredados de la clase "Titulo", por que en "getFechaDeLanzamiento" no se utilizo el "this"?

@Override
public String toString() {
    //super significa que vamos hacer referencia a un metodo de nuestra clase madre.
   // return super.toString();
    return "Pelicula: " + this.getNombre() + " (" + getFechaDeLanzamiento() + ")";
}
1 respuesta

This es una palabra reservada de Java, hace referencia a la instancia del objeto en cuestión. En este caso tu duda parte del uso del this en getNombre(), no hace falta utilizarlo. Te dejo unos ejemplos de como funciona this.

Ejemplo:

public class Persona {
    String nombre;
    
    public Persona(String nombre) {
        this.nombre = nombre;
    }
}

El parametro del constructor de la clase Persona recibe un parametro que esta pisando al atributo nombre, pot lo tanto este queda invisible dentro del mismo (cualquier uso del atributo nombre va a hacer referencia al parametro y no al atributo de clase). Con this podes recuperar el atributo nombre propio de la instancia de la clase, es decir del objeto utilizado.

public class Persona {
    String nombre = "Franco";
    
    public Persona(String nombre) {
        System.out.print(nombre);
        System.out.print(this.nombre);
    }
}

Si se crea un objeto Persona de la siguiente forma: new Persona("Juan"); la salida por consola seria: Juan Franco