Para cada um dos problemas abaixo, desenhe uma hierarquia de classes que as represente. Não deve-se implementar nenhum código.
a) Considere uma universidade com alunos. Os alunos podem ser de graduação e de pós-graduação. Os alunos de graduação podem ser calouros, intermediários ou formandos. Os alunos de pós-graduação podem ser de mestrado ou de doutorado.

Passo 1

Beleza, vamos começar entendendo o que o exercício está pedindo. A gente precisa desenhar uma hierarquia de classes para representar os alunos de uma universidade. A matéria aqui envolve Programação Orientada a Objetos (POO), especificamente o conceito de herança. Vamos precisar identificar as diferentes categorias de alunos e como elas se relacionam umas com as outras para criar essa hierarquia.

Passo 2

Primeiro, vamos identificar a classe principal. No nosso caso, essa classe é Aluno, que representa qualquer aluno da universidade. Todos os tipos de alunos vão herdar de Aluno porque eles compartilham características comuns, como ter um nome, matrícula, etc.

Passo 3

Agora, pensando nas categorias principais, temos dois tipos de alunos: Graduação e Pós-Graduação. Então, vamos criar duas subclasses que herdam de Aluno: uma chamada AlunoGraduação e outra chamada AlunoPosGraduacao.

Passo 4

Dentro de AlunoGraduação, temos três níveis: calouro, intermediário e formando. Esses serão subclasses de AlunoGraduação, ou seja, Calouro, Intermediario e Formando. Cada uma dessas classes vai herdar as características de AlunoGraduação, mas podem ter atributos ou métodos específicos se necessário.

Passo 5

Já para AlunoPosGraduacao, temos dois tipos: mestrado e doutorado. Assim, vamos criar duas subclasses que herdam de AlunoPosGraduacao: AlunoMestrado e AlunoDoutorado. Essas classes também podem ter particularidades próprias além das características herdadas.

Passo 6

Resumindo tudo, nossa hierarquia de classes fica assim:
  • Aluno
    • AlunoGraduação
      • Calouro
      • Intermediario
      • Formando
    • AlunoPosGraduacao
      • AlunoMestrado
      • AlunoDoutorado

Resposta

A hierarquia de classes para representar os alunos da universidade é:
  • Aluno
    • AlunoGraduação
      • Calouro
      • Intermediario
      • Formando
    • AlunoPosGraduacao
      • AlunoMestrado
      • AlunoDoutorado

Exercícios relacionados

Implemente:
b) Uma subclasse de MeioDeTransporte chamada Carro. Carro deve ter os atributos marca (String), nome (String) e quilometragem (tipo int) e os métodos necessários para ler os atributos e alterá-los (get e set). A quilometragem não pode ser negativa, nem ultrapassar o valor 999999. A velocidade do Carro não pode ser negativa, nem ultrapassar 200.
Escreva as seguintes classes:
a) Uma classe Pessoa com atributos nome e sobrenome. Cada um desses atributos deve ter métodos get e set. A classe Pessoa ainda deve ter um método chamado getNomeCompleto que não possui parâmetros de entrada e que retorna a concatenação do atributo nome com o atributo sobrenome. Além disso, a classe deve possuir um construtor sem parâmetros e um outro construtor que recebe como parâmetros o nome e o sobrenome da pessoa e altera respectivamente os atributos nome e sobrenome.
Implemente programas para os problemas descritos a seguir.
Crie um programa para simular uma aplicação bancária. O banco possui clientes com contas bancárias (Conta). Além disso, existem outros dois tipos de contas que compartilham informações da conta base, mas que possuem suas próprias peculiaridades: conta especial (ContaEspecial) e conta poupança (ContaPoupanca). As funcionalidades de cada uma são descritas a seguir, mas caso seja necessário, novos atributos e métodos podem ser adicionados.
Conta ContaPoupanca ContaEspecial
Atributos Cliente: Nome completo <br> Saldo: Saldo da conta Taxa: Taxa de rendimento <br> fixada pelo banco para todos os <br> clientes Limite: Cada cliente <br> possui um limite especial, <br> limitado emno máximo <br> R$10.000,00
Métodos Sacar: Retirar do saldo <br> (não pode deixar a conta <br> negativa) <br> Depositar: Colocar no <br> saldo Atualizar: Atualiza o saldo <br> baseado na taxa definida Sacar: Reimplementar a <br> funcionalidade levando <br> em consideração o novo <br> limite
O programa deve prover as seguintes funcionalidades:
  • Abrir contas de qualquer tipo para novos clientes
  • Exibir informações de uma determinada conta com o saldo (busca deverá ser feita pelo nome do cliente)
  • Atualizar o saldo da conta poupança de todos os clientes
  • Sacar ou depositar valores em uma determinada conta
    Dica: Na classe que contiver o método principal crie 3 Arrays que
Para cada um dos problemas abaixo, desenhe uma hierarquia de classes que as represente. Não deve-se implementar nenhum código.
b) Considere as várias formas existentes no universo. As formas podem ser bidimensionais ou tridimensionais. Quadrilateral, elíptica e triangular são formas bidimensionais. Um trapezoidee um paralelogramo são quadrilaterais, enquanto um círculo é uma elipse. Um quadrado é um tipo de retângulo, que esse por sua vez é um tipo de paralelogramo. Já esfera, cone, cubo, cilindro, prisma são objetos tridimensionais.