1
resposta

Desafio Casting Classe Animal e Instaceof

package br.alura.modelo;

public class Animal {

    protected String nome;

    public Animal() {}

    public Animal(String nome) {
        this.nome = nome;
    }

    public String getNome() {
        return nome;
    }

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

    public String som(){
        return "som";

    }

    @Override
    public String toString() {
        return "Animal{" +
                "nome='" + this.getNome() + '\'' +
                '}';
    }
}



package br.alura.modelo;

public class Cachorro extends Animal {

    protected String raca;

    public Cachorro(){}

    public Cachorro(String nome, String raca) {
        super(nome);
        this.raca = raca;
    }

    public String getRaca() {
        return raca;
    }

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

    @Override
    public String som() {
        return "Au Au";
    }

    @Override
    public String toString() {
        return "Cachorro{" +
                "raca ='" + this.getRaca() + '\'' +
                ", nome ='" + this.getNome() + '\'' +
                '}';
    }
}


import br.alura.modelo.Animal;
import br.alura.modelo.Cachorro;

public  static void main(String[] args) {
    Cachorro cachorro = new Cachorro("Bola", "Golden");

    System.out.println(cachorro);

    if( cachorro instanceof Animal ){

        Animal animal = (Animal) cachorro;
        System.out.print(animal.som());
    }

}
1 resposta

Oi, Enio! Tudo bem?

Excelente código, parabéns pelo projeto! Espero que esteja gostando do curso! Colocar em execução as atividades propostas pelo professor em aula é uma prática muito importante para internalizarmos o conteúdo. Caso tenha ficado alguma dúvida em relação ao curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!