Diagrama de classe com 3 níveis

Galera, alguém poderia me dá uma ajuda. Eu gostaria de montar um diagrama de classe semelhante a esse para poder implementar meu trabalho. Os outros alunos da minha turma já pensaram em TRANSPORTE, BIBLIOTECA, CONSULTÓRIO.
Alguém poderia me dá algum exemplo ? Tenho que começar a implementar o código ainda hoje.
Se alguém puder me ajudar, serei bastante grato.
A imagem do EXEMPLO mostrado pela professora:

http://img685.imageshack.us/i/imagemsn.jpg/

Declare uma estrutura semelhante à mostrada abaixo (NÃO PODE SER UMA ESTRUTURA QUE TENHA SIDO VISTA EM SALA DE AULA), com OBROGATORIAMENTE uma classe-pai (ex.: ANIMAL) e três níveis de herança (CONFORME MOSTRADO ABAIXO). A classe-pai deve ter, no mínimo, um atributo e um método que devem ser herdados pelas classes-filhas. Cada classe-filha deve ter, no mínimo, um atributo específico (que não foi herdado) e um método específico (que não foi herdado).

1)Escolha uma classe-filha para demonstrar um método herdado. IMPLEMENTE.

2)Escolha uma outra classe-filha para demonstrar um construtor sobrecarregado. IMPLEMENTE.

3)Na classe-pai, implemente atributos e métodos condizentes com a hierarquia.

4)Nas classes-filhas, implemente atributos específicos, além dos que foram herdados, condizentes com a hierarquia que você criou. Sobrescreva pelo menos um método da classe-pai em cada classe-filha.

5)Elabore um programa principal que teste COMPLETAMENTE a estrutura criada (todos os métodos de todas as classes com PELO MENOS UM OBJETO DE CADA CLASSE).

http://www.faculdadepuc.xpg.com.br/diagrama.html

Boa tarde.

Material Reciclavél não serve?

Classei Pai - MaterialReciclavél - > Plástico, Papeis

Plástico - Garrafas, Copos

Papeis - Cadernos, Agendas

É por ai, pode melhorar isso :slight_smile:
Abraços.

Muito boa a idéia.

Fico pensando nos atributos de plástico e papéis…

Plástico: Cor, peso… ?

Papéis: ?

fico confuso… '¬¬

[code]public class MaterialReciclavel {
int codigo;
String descrição;

//getters and setters
}[/code]

//Resistencia do material public class Plastico extends MaterialReciclavel { int codigo; double peso; String resistencia; }

//Modelo, Garrafa pequena, média, grande... public class Garrafas extends Plastico{ int codigo; String modelo; double peso; }
Agora podemos citar o Papel

//supondo que queira separar os papeis por qualidade public class Papel extends MaterialReciclavel{ int codigo; double Peso; String qualidade; }

//descrição, caderno pequeno, médio, com capa dura e etc public class Caderno extends Papel { int codigo; String descrição; }

É por ai, lógico que pode melhorar bastante isso mas está ai uma ideia. Não esqueça dos getters e setters ok?
Abraços!

nel, não é necessário ter o atributo codigo em todas as classes uma vez que ele é herdado nesse caso.