1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Herança: Array da classe pai...

Olá, estou implementando um exercicio para a faculdade e nele devo implementar uma agencia bancaria. Mas para ficar mais fácil de tirar a minha dúvida separei o meu problema e um outro exercicio.

Estou montando um Zoológico, e neste zoológico tenho Animais. Todo animal tem seu nome, e cada um desses animais tem suas características.

Zoológico tem relacionamento de composição com Animal Galinha é um animal. Cachorro é um animal.

A dúvida esta como comentário no código.


Classe Zoologico.


public class Zoologico {
    public static void main(String[] args) {
        Galinha gaga = new Galinha();
        Galinha gaga1 = new Galinha();
        Galinha gaga2 = new Galinha();

        Cachorro toto = new Cachorro();
        Cachorro toto1 = new Cachorro();
        Cachorro toto2 = new Cachorro();

        Animal zoo[] = new Animal[10];


        for(int i = 0;i<10;i++)
            zoo[i] = null;

        zoo[0] = gaga;
        zoo[1] = gaga1;
        zoo[2] = gaga1;

        zoo[3] = toto;
        zoo[4] = toto1;
        zoo[5] = toto2;


        /*Aqui eu preciso fazer o seguinte.
        De acordo com o objeto que eu pegar do Array ZOO, tenho que executar um metodo.
        Se for galinha, tirarPenas(); se for cachorro addOsso();*/



    }
}

Classe Animal


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

    int qntdePenas;

    Galinha() {
        super("Galinha Pintadinha");
    }

    Galinha(String nome) {
        super(nome);
    }


    private boolean tirarPena(int num){
        if(qntdePenas < num)
            return false;
        qntdePenas -= num;
        return true;
    }

    private void setPenas(int num){
        qntdePenas = num;
    }
}
public class Cachorro extends Animal {

    int osso;

    Cachorro() {
        super("REX");
    }

    Cachorro(String nome) {
        super(nome);
    }


    public void setOsso(int num){
        osso = num;
    }


    private void addOsso(int num){
        osso += num;
    }
}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags herança ou faça a sua própria pergunta.