1
resposta

Desafio: hora da prática

package Desafio7.animal;

public class Principal {
    public static void main(String[] args) {
        Animal animal = new Cachorro();

        if (animal instanceof Cachorro) {
            Cachorro cachorro1 = (Cachorro) animal;
            System.out.println(cachorro1);
        } else {
            System.out.println("O objeto n é um cachorro");
        }

    }
}
package Desafio7.animal;

public class Cachorro extends Animal {
    public void emitirSom() {
        System.out.println("au au");
    }

    public void abanarRabo() {
        System.out.println("abanando");
    }
}
package Desafio7.animal;

public class Animal {
}
package Desafio7.forma;

import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        Circulo areaCirculo = new Circulo(10);

        System.out.println(areaCirculo.calcularArea());

        Quadrado areaQuadrado = new Quadrado(10);
        System.out.println(areaQuadrado.calcularArea());

        ArrayList<Forma> lista = new ArrayList<>();
        lista.add(areaCirculo);
        lista.add(areaQuadrado);

        for (Forma forma : lista) {
            System.out.println(forma);
        }
    }
}
package Desafio7.forma;

interface Forma {
    double calcularArea();
}
package Desafio7.forma;

public class Circulo implements Forma{
    double varX;
    double pi = 3.141;

    public Circulo (double varX){
        this.varX = varX;
    }

    @Override
    public double calcularArea() {
        return varX * varX * pi;
    }
}
package Desafio7.forma;

public class Quadrado implements Forma{
    double varX;

    public Quadrado(double varX) {
        this.varX = varX;
    }

    @Override
    public double calcularArea() {
        return varX * varX;
    }
}
1 resposta

Oi, Alfredo! Como vai?

Agradeço por compartilhar.

Gostei da sua implementação, principalmente do uso de polimorfismo tanto no exemplo com Animal e Cachorro quanto na lista de Forma, mostrando bem como trabalhar com interfaces e listas de objetos distintos. Sua lógica faz sentido e está alinhada com o objetivo da atividade.

Continue explorando esse tipo de estrutura, isso fortalece muito a base em Java.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!