Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

10 Desafio: Hora da pratica (Erança exercicio 2)

  1. Crie uma classe Animal com um método emitirSom(). Em seguida, crie duas subclasses: Cachorro e Gato, que herdam da classe Animal. Adicione o método emitirSom() nas subclasses, utilizando a anotação @Override para indicar que estão sobrescrevendo o método. Além disso, adicione métodos específicos para cada subclasse, como abanarRabo() para o Cachorro e arranharMoveis() para o Gato.
package br.com.allura.exercicios;

public class Animal {
    private String nome;
    private String raça;

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getRaça() {
        return raça;
    }
    public void setRaça(String raça) {
        this.raça = raça;
    }

    public void emitirSom () {
        System.out.println("Animal emitindo som");
    }
}
package br.com.allura.exercicios;

public class Cachorro extends Animal{
    @Override
    public void emitirSom () {
        System.out.println("Au, au!!!");
    }
    public void abanarOrabo () {
        System.out.println("Cachorros abanam o rabo!!!");
    }

}
package br.com.allura.exercicios;

public class Gato extends Animal{

    @Override
    public void emitirSom () {
        System.out.println("Mialllll!!!");
    }
    public void arranharMoveis () {
        System.out.println("Gatos arranham moveis!!!");
    }
}
package br.com.allura.exercicios;

public class Exercicio {
    public static void main(String[] args) {
        Cachorro myDog = new Cachorro();
        myDog.setNome("Rex");
        myDog.setRaça("Vira-lata");

        Gato myCat = new Gato();
        myCat.setNome("Felix");
        myCat.setRaça("Vira-lata");

        System.out.println("Nome do cachorro: " + myDog.getNome());
        System.out.println("Raça do cachorro: " + myDog.getRaça());
        myDog.emitirSom();
        myDog.abanarOrabo();

        System.out.println();

        System.out.println("Nome do gato: " + myCat.getNome());
        System.out.println("Raça do gato: " + myCat.getRaça());
        myCat.emitirSom();
        myCat.arranharMoveis();


    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, Henrique! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de herança para estruturar a classe Animal, utilizou muito bem a anotação @Override para sobrescrever métodos nas subclasses e ainda compreendeu a importância de adicionar comportamentos específicos para diferenciar cada tipo de animal.

Uma dica interessante para o futuro é aplicar polimorfismo no método main, chamando emitirSom() a partir de uma lista de animais, sem precisar saber se é Cachorro ou Gato. Assim:

Animal[] animais = { new Cachorro(), new Gato() };

for (Animal animal : animais) {
    animal.emitirSom();
}

Isso faz com que o código fique mais flexível e aproveite melhor os conceitos de orientação a objetos.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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