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
Download

Sobrecarga de métodos