Laboratório I
Mateus Raeder
Sobrecarga de métodos
Definição de métodos
visibilidade
tipo de retorno
{
// instruções
}
nome do método (parâmetros de entrada)
public double calculaFrete()
{
// instruções
}
public int calculaValor(int quant)
{
// instruções
}
Mateus Raeder – fevereiro de 2009
public void imprimeArea(double a)
{
// instruções
}
Sobrecarga de métodos
Numa mesma classe, dois ou mais métodos (inclusive o
construtor) podem ter o mesmo nome, desde que tenham tipos ou
quantidade de parâmetros diferentes
Sobrecarga de métodos
A assinatura de um método é dada pelo nome mais o tipo dos
parâmetros
Assim, métodos com mesmo nome mas tipos de parâmetros
diferentes não possuem a mesma assinatura
Mateus Raeder – fevereiro de 2009
Sobrecarga de métodos
Agora podemos criar:
Por exemplo:
public Dado(int nlados)
{
lados = nlados;
}
vai criar com este
meuDado1 = new Dado(6);
vai criar com este
public Dado()
{
lados = 6;
}
meuDado2 = new Dado();
O mesmo vale para qualquer método que se deseje sobrecarregar
Mateus Raeder – fevereiro de 2009
Sobrecarga de métodos
Exercícios
1 – altere a classe Data, e crie um mais um construtor, que
receba apenas o mês e o ano, colocando valor 0 para o dia
2 – Crie mais um construtor para a classe Data que não recebe
parâmetros de entrada, e coloca os valores de dia, mês e ano
para 0
3 – altere a classe Dado, e crie mais um construtor, este sem
parâmetros, que coloque o número de lados do dado para 6
4 – altere a classe Endereco, criando um novo construtor para
esta classe que não recebe nenhum parâmetro de entrada,
colocando 0 ou ‘‘indefinida‘‘ nos atributos
Mateus Raeder – fevereiro de 2009
Sobrecarga de métodos
Exercícios
5 – Altere a classe Pessoa, criando um novo construtor que
recebe somente o nome, o sexo, o mês e o ano de nescimento
como parâmetros de entrada
6 – Altere a classe Pessoa e veja se é possível, agora, criar um
construtor sem parâmetros de entrada. Se for possível, crie-o
7 – Crie um método na classe Pessoa chamado alteraInfo(char
sexo, String nome)
8 – É possível criar um método na classe Pessoa chamado
alteraInfo(String nome)? Se for possível, crie-o.
Mateus Raeder – fevereiro de 2009