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.
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
- AlunoGraduação
Resposta
A hierarquia de classes para representar os alunos da universidade é:
- Aluno
- AlunoGraduação
- Calouro
- Intermediario
- Formando
- AlunoPosGraduacao
- AlunoMestrado
- AlunoDoutorado
- AlunoGraduação
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.
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.
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.
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.
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.