Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

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

Desafio: Animal

2.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.

Animal

package br.com.alura.animal;

public class Animal {
    private String nome;
    private String tipo;
    private String raca;

    public void fichaAnimal() {
        String ficha = """
                ------------------------
                Nome: %s
                Tipo: %s
                Raça: %s
                """.formatted(nome, tipo, raca);
        System.out.println(ficha);
    }

    public void emitirSom() {
        System.out.println("Som do Animal: ");
    }

    public String getNome() {
        return nome;
    }

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

    public String getRaca() {
        return raca;
    }

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

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
}

Cachorro

package br.com.alura.animal;

public class Cachorro extends Animal {

    @Override
    public void emitirSom() {
        System.out.println("Au Au");
    }

    public void abanarRabo() {
        System.out.println("Abanando o rabo");
    }
}

Gato

package br.com.alura.animal;

public class Gato extends Animal {

    @Override
    public void emitirSom() {
        System.out.println("Miau");
    }

    public void arranharMoveis(){
        System.out.println("Arranhando Móveis");
    }
}

Main

import br.com.alura.animal.Cachorro;
import br.com.alura.animal.Gato;

public class Main {
    public static void main(String[] args) {

        Cachorro cachorro = new Cachorro();
        cachorro.setNome("Draco");
        cachorro.setTipo("Cachorro");
        cachorro.setRaca("Vira Lata");

        cachorro.fichaAnimal();
        cachorro.emitirSom();
        cachorro.abanarRabo();

        Gato gato = new Gato();
        gato.setNome("Shyori");
        gato.setTipo("Gato");
        gato.setRaca("Malhada");

        gato.fichaAnimal();
        gato.emitirSom();
        gato.arranharMoveis();
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Oi, Kevin! Como vai?

No seu exemplo, gostei de como você estruturou as subclasses e utilizou override para personalizar os sons dos animais. Sua organização das classes deixa claro o comportamento específico de cada tipo de animal.

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