Centro de Ciências Exatas, Ambientais e de Tecnologias
Faculdade de Engenharia de Computação
Paradigmas de Linguagens de Programação
8o. Laboratório - 10, 11, 14 e 16 de Abril
Assunto: Herança
Usaremos no exercício de hoje a classe Aluno que desenvolvemos nos labs anteriores.
Desenvolva uma nova classe de nome AlunoPucc, que deve herdar os
membros da classe Aluno (que será a nossa classe BASE). Além dos membros herdados
da classe base, esta nova classe (DERIVADA) deve conter ainda os seguintes membros:
- Nos atributos (propriedades):
- Crie um atributo Desempenho, que representará o desempenho
do aluno.
- Nos serviços (métodos):
- Criar um método de nome QualDesempenho(), que deve ser
acionada para calcular o desempenho do aluno mediante as suas notas. Para obter
o desempenho do aluno basta calcular a média aritmética das notas do aluno.
Além de calcular o desempenho e atribuir o seu valor à propriedade adequada,
retorne o valor calculado.
- Criar um método de nome QualClassificacao(), que deve ser
acionada para calcular o coeficiênte de classificação do aluno. A classificação
do aluno é obtida através do cálculo do resto da divisão do desempenho do
aluno pelo valor 5.
- No método construtor:
- Criar um construtor que acione o construtor da classe base.
Desenvolva uma terceira classe que irá utilizar objetos das classes Aluno
e AlunoPucc. Dentro desta classe, deveremos instanciar um objeto de cada classe, armazenar as
informações de dois alunos, um da classe Aluno e outro da classe AlunoPucc.
- Para o Aluno da classe AlunoPucc, faça:
- Ler o Nome, a quantidade de notas do aluno (0-3) e cada nota obtida;
- Instanciar o objeto, usando o construtor para informar o número de notas
que serão digitadas, e a sobrecarga da operação atribuir(...) mais indicada;
- Calcular a Média de cada aluno usando a função apropriada;
- Calcular o Desempenho de cada aluno usando a função apropriada;
- Calcular a Classificação do aluno.
- Mostrar o resultado obtido pelo aluno.
- Para o Aluno da classe Aluno, faça:
- Ler o Nome, a quantidade de notas do aluno (0-4) e cada nota obtida;
- Instanciar o objeto, usando o construtor para informar o número de notas
que serão digitadas, e a sobrecarga da operação atribuir(...) mais indicada;
- Tentar calcular a Média do aluno usando a função apropriada e explicar o que acontece;
- Tentar calcular o Desempenho do aluno usando a função apropriada e explicar o que acontece;
- Tentar calcular a classificação do aluno usando a função apropriada e explicar o que acontece;
- Mostrar o resultado obtido pelo Aluno.
Dicas:
- Os atributos da classe base devem ser protegidos (protected);
- Membros da classe base são acessíveis nas classes derivadas;
- Membros da classe derivada não são acessíveis na classe bases.
- Para acessar membros da classe base que foram sobrepostos na classe derivada
utilize a palavra super.
BOM TRABALHO!!