Centro de Ciências Exatas, Ambientais e de Tecnologias
Faculdade de Engenharia de Computação

Paradigmas de Linguagens de Programação
6o. Laboratório - 27, 28, 31 de Março e 01 de Abril

Assuntos: Sobrecarga de Membros; Construtores e Vetores
Utilizando a classe de nome Aluno, desenvolvida no Lab anterior, implemente as seguintes alterações:


Sobrecarga de Membros
Altere o nome do método atribuirNome() para atribuir();

Altere o nome do método atribuirNotas() para atribuir();

Adicione o seguinte método:

atribuir()

Funcionalidade: Preencher as propriedades referentes ao Nome às Notas da instância acessada.

Parâmetros: (1) uma String que representa o valor a ser atribuído à propriedade Nome, (2) um double que representa o valor a ser atribuído à propriedade Nota1, (3) um double que representa o valor a ser atribuído à propriedade Nota2 e (4) um double que representa o valor a ser atribuído à propriedade Nota3..

Retorno: nenhum.

Feitas as alterações indicadas acima, crie uma classe Principal que, em seu void main(), crie instâncias da classe Aluno e teste a sobrecarga do método atribuir.


Construtores e Vetores
Apague as propriedades referentes às Notas da classe Aluno;

Adicione uma nova propriedade de nome Nota que será um vetor de, no máximo 3 notas do tipo double. Não instancie o vetor no momento de sua declaração, isto será feito no momento da criação da instância.

Crie um construtor para a classe Aluno que fará a instanciação do vetor de notas (new double[3]) e iniciará cada uma de suas posições com o valor 0.0. Além disso, o construtor deve atribuir uma string vazia ("") à propriedade Nome da instância.

Altere a sua classe para trabalhar com as notas em vetor e não mais com propriedades individuais.


Sobrecarga de Construtores
Crie um construtor para a Classe Aluno que receba como parâmetro (1)uma String que representará o nome do aluno da instância que está sendo criada.

Crie um construtor para a Classe Aluno que receba como parâmetro (1)uma String que representará o nome do aluno da instância que está sendo criada, (2)um double que representa o valor a ser atribuído à primeira nota da instância, (3) um double que representa o valor a ser atribuído à segunda nota da instância e (4) um double que representa o valor a ser atribuído à terceira nota da instância.


Exemplos de instanciação de um objeto da classe Aluno:

     Aluno MeuAluno = new Aluno();
     Aluno OutroAluno = new Aluno("Andréia");
     Aluno MaisUmAluno = new Aluno("Joao", 9.0, 7.5, 2.5);

Exemplos de possíveis chamadas a métodos da instância criada acima:

    MeuAluno.atribuir("Andréia");
    MeuAluno.atribuir(8.0, 7.5, 6.0);
		
    System.out.println("Aluno.......: " + MeuAluno.qualNome());
    System.out.println("1a. Nota....: " + MeuAluno.qualNota(1));
    System.out.println("2a. Nota....: " + MeuAluno.qualNota(2));
    System.out.println("3a. Nota....: " + MeuAluno.qualNota(3));
    System.out.println("Media Final.: " + MeuAluno.qualMedia());
    
    MeuAluno.atribuir("Joao",8.0, 7.5, 6.0);
		
    System.out.println("Aluno.......: " + MeuAluno.qualNome());
    System.out.println("1a. Nota....: " + MeuAluno.qualNota(1));
    System.out.println("2a. Nota....: " + MeuAluno.qualNota(2));
    System.out.println("3a. Nota....: " + MeuAluno.qualNota(3));
    System.out.println("Media Final.: " + MeuAluno.qualMedia());


Guarde o código desenvolvido por você na aula de hoje pois
ele será utilizado nos próximos laboratórios

Bom Trabalho !!