Van icon

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;
        }
    }