1
resposta

Dúvida Ex 3

public class Animal {

    public void somAnimal(boolean somAnimal) {
        if (somAnimal) {
            System.out.println("Au au au");
        } else {
            System.out.println("Miauu");
        }
    }
}

public class Cachorro extends Animal {

}

        Cachorro cachorro = new Cachorro();
        Animal animal1 = (Animal) cachorro;
        Animal animal2 = animal1;
        Animal animal3 = new Animal();

        if (animal1 instanceof Cachorro) {
            animal1.somAnimal(true);
            System.out.println("É um cachorro");
        } else {
            animal1.somAnimal(false);
            System.out.println("Não é um cachorro");
        }

        if (animal2 instanceof Cachorro ) {
            animal2.somAnimal(true);
            System.out.println("É um cachorro");
        } else {
            animal2.somAnimal(false);
            System.out.println("Não é um cachorro");
        }

        if (animal3 instanceof Cachorro) {
            animal3.somAnimal(true);
            System.out.println("É um cachorro");
        } else {
            animal3.somAnimal(false);
            System.out.println("Não é um cachorro");
        }
        
        //saída 
        //Au au au
        //É um cachorro
        //Au au au
        //É um cachorro
        //Miauu
        //Não é um cachorro

Olá, pessoal! Na verdade, não seria uma dúvida e sim uma orientação. Sou iniciante e fiz esse exercício para poder fixar o conteúdo, pois tive algumas dificuldades em compreender melhor. Agradeço se puderem dizer algo sobre o meu exercício. Obrigado!

1 resposta

Oi, Fabricio! Tudo bem?

Parabéns por se dedicar ao exercício e buscar fixar o conteúdo! Em relação ao código podemos observar nele a criação de uma classe Animal com um método que imprime sons diferentes baseado em um booleano, e uma classe Cachorro que herda de Animal. No código principal, manipulamos instâncias dessas classes e utilizamos o operador instanceof para verificar o tipo dos objetos.

Outro ponto interessante no código é a demonstração do conceito de polimorfismo e casting, já que há a criação de um objeto de Cachorro, o casting para Animal e a verificação se ainda era uma instância de Cachorro, o que é uma ótima prática para entender como Java trata a herança e o tipo dos objetos em tempo de execução.

No geral, o exercício está bem estruturado para o que foi pedido e mostra que você está no caminho certo para entender esses conceitos importantes de Java. Continue praticando e explorando diferentes cenários, pois isso vai solidificar ainda mais seu entendimento!

Espero ter ajudado!

Um forte abraço e bons estudos!