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

[Minha Solução] Desafio Criar Classe Animal

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.


import java.util.Scanner;

public class Animal {
    protected String nome;
    protected double peso;
    protected String raca;

    Scanner sc = new Scanner(System.in);

    public void emitirSom() {
        System.out.println("Animal emitindo som!");
    }

    public String getNome() {
        return nome;
    }

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

    public double getPeso() {
        return peso;
    }

    public void setPeso(double peso) {
        this.peso = peso;
    }

    public String getRaca() {
        return raca;
    }

    public void setRaca(String raca) {
        this.raca = raca;
    }

    public void inserirDadosAnimal() {
        System.out.println("Insira o nome do Animal: ");
        setNome(nome = sc.nextLine());
        System.out.println("Insira o peso do Animal: ");
        setPeso(peso = sc.nextDouble());
        System.out.println("Insira a raça do Animal: ");
        setRaca(raca = sc.nextLine());
    }

    public void exibirInformacoesAnimal() {
        System.out.println("Nome: " + this.getNome());
        System.out.println("Peso: " + this.getPeso());
        System.out.println("Taça: " + this.getRaca());
    }
}

public class Cachorro extends Animal {

    @Override
    public void emitirSom() {
        System.out.println(getNome() +" diz: " + "Au au au!");
    }

    public void comer() {
        System.out.println(getNome() + "Comendo raçao!");
    }

    public void abanarRabo() {
        System.out.println(getNome() + " Abanando o rabo!" + " feliz em ver você!");
    }

    @Override
    public void inserirDadosAnimal() {
        System.out.println("Insira o nome: ");
        setNome(nome = sc.nextLine());
        System.out.println("Insira a raça:");
        setRaca(raca = sc.nextLine());
        System.out.println("Insira o peso: ");
        setPeso(peso = sc.nextDouble());
    }

    @Override
    public void exibirInformacoesAnimal() {
        System.out.println("É um cachorro!");
        System.out.println("Nome: " + this.getNome());
        System.out.println("Peso: " + this.getPeso());
        System.out.println("Raça: " + this.getRaca());
    }
}

public class Gato extends Animal {

    @Override
    public void emitirSom() {
        System.out.println(getNome() + " Miauuuu, miauuuu!");
    }

    public void arranharMoveis() {
        System.out.println(getNome() + " arranhando os móveis!");
    }

    public void desprezarHumano() {
        System.out.println(getNome() + " desprezando seu humano!");
    }

    @Override
    public void inserirDadosAnimal() {
        System.out.println("Insira o nome: ");
        setNome(nome = sc.nextLine());
        System.out.println("Insira a raça:");
        setRaca(raca = sc.nextLine());
        System.out.println("Insira o peso: ");
        setPeso(peso = sc.nextDouble());
    }

    @Override
    public void exibirInformacoesAnimal() {
        System.out.println("É um Gato");
        System.out.println("Nome: " + this.getNome());
        System.out.println("Peso: " + this.getPeso());
        System.out.println("Raça: " + this.getRaca());
    }
}

public class Principal {
    public static void main(String[] args) {
        Cachorro cachorro = new Cachorro();
        cachorro.inserirDadosAnimal();
        cachorro.exibirInformacoesAnimal();
        cachorro.emitirSom();
        cachorro.abanarRabo();

        Gato gato = new Gato();
        gato.inserirDadosAnimal();
        gato.exibirInformacoesAnimal();
        gato.emitirSom();
        gato.arranharMoveis();
        gato.desprezarHumano();
    }
}

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

1 resposta
solução!

Bom dia, Carlos!

Você está indo muito bem! A maneira como você implementou a herança e o polimorfismo no seu código está excelente. Gostei de como você personalizou os comportamentos dos animais com métodos específicos para cada um. Continue assim, você está mostrando um ótimo domínio dos conceitos de orientação a objetos. Parabéns pelo progresso!

"Podemos fazer a diferença na vida de uma única pessoa, e isso pode mudar o universo." — Benjamin Sisko