Exercício de Herança 2
Exercício de Herança 2
A hierarquia de classificação científica dos seres vivos segue a taxonomia de Lineu. Abaixo é apresentado um sumário parcial do mais geral (reino) para o mais específico (Espécie) na classificação. Neste sumário, Império, Domínio e Sub/Superdivisões são omitidos por simplicidade:
- Reino
- Filo (animais) / Divisão (plantas)
- Classe
- Ordem
- Família
- Gênero
- Espécie
Com base no sumário acima, a classificação do homem, cão e mosca é dada por:
Homem | Cão | Mosca | |
---|---|---|---|
Reino | Animalia | Animalia | Animalia |
Filo | Chordata | Chordata | Arthropoda |
Classe | Mammalia | Mammalia | Insecta |
Ordem | Primata | Carnívora | Díptera |
Família | Hominidae | Canidae | Muscidae |
Gênero | Homo | Canis | Musca |
Espécie | Homo sapiens | Canis familiaris | Musca domestica |
Fica evidente a partir deste exemplo que existe uma organização hierárquica nas classificações para o homem, cão e mosca. Esta hierarquia pode ser ilustrada por uma árvore:
Neste exercício:
Represente por meio de classes Java a hierarquia de classificação que envolve homem, cão e mosca na taxonomia de Lineu;
Em sua modelagem verifique se faz sentido todas as classes serem concretas ou se é preciso definir alguma(s) delas como abstrata(s);Implemente o método
String toString()
emAnimalia
e sobreescreva este método em toda subclasse, de modo que quando invocado retornará toda a taxonomia de uma dada instância, por exemplo, para uma instância de Homo sapiens seria:public class Principal{ public static void main(String[] args) { System.out.println(new HomoSapiens()); } }
Reino Animalia Filo Chordata Classe Mammalia Ordem Primata Família Hominidae Gênero Homo Espécie Homo sapiens
Reescreva seu código, mantendo o mesmo comportamento, mas sem utilizar herança
(Será necessário alterar a classe.Principial
)
Entrega
Referências
Leandro A. F. Fernandes, Marcos Lage, Isabel Rosseti. 2ª Lista de Exercícios Orientação a Objetos. Universidade Federal Fluminense, Instituto de Computação, Departamento de Ciência da Computação, Programação de Computadores II ↩︎