JAVA INHERITANCE
Links
//HERENCIA INHERITANCE: Permite heredar atributos y métodos de otra clase
public class Inheritance {
//super() o super(nombre, edad) DEPENDE DE LOS CONSTRUCTORES DE LA CLASE PADRE
public Inheritance(){
Aguila aguila = new Aguila("Eagle");
aguila.vuela();
System.out.println("El número de alas es: "+aguila.alas);
Gorrion gorrion = new Gorrion("Paco", "Marron");
gorrion.vuela();
}
}
//If you try to access a final class, Java will generate an error: final class Ave
class Ave {
protected int alas = 2;
protected String color;
public Ave(){
this.alas = 2;
}
public void vuela() {
System.out.println("Flying");
}
public Double damePeso(){
return 500.00;
}
}
class Aguila extends Ave{
String color = "blanco";
String nombre = "Paco";
public Aguila(String nombre) { //CONSTRUYE SEGUN
super(); //llama al constructor de la clase padre y da estado inicial, tendrá dos alas
this.nombre = nombre;
}
}
class Gorrion extends Ave{
String color = "marron";
String nombre = "parrot";
Double peso;
public Gorrion(String nombre, String color) { //CONSTRUYE SEGUN
super(); //llama al constructor de la clase padre y da estado inicial, tendrá dos alas
this.nombre = nombre;
this.color = color;
}
//llamamos a un método de la clase padre
@Override
public Double damePeso(){
this.peso = super.damePeso(); //llamamos al metodo de la clase padre
return peso;
}
}