Programação Java

Propaganda
Programação Java
- Sobrecarga (Overloading)Marco Fagundes
[email protected]
© 2007 Marco Fagundes - [email protected]
1
Tópicos
Métodos
Sobrecarga de Métodos
Exercício
Leitura Recomendada
© 2007 Marco Fagundes - [email protected]
2
Métodos
Implementam as operações que agem sobre os
atributos do objeto
São definidos da seguinte forma:
<modificador_acesso><tipo_retorno> <nome><parâmetros>
public boolean sacar(double pVal){
return (saldo >= pVal);
}
© 2007 Marco Fagundes - [email protected]
3
Sobrecarga de Métodos (overloading)
Sobrecarregar um método significa prover mais de
uma versão de um mesmo método
As versões do método realizam tarefas semelhantes,
mas sobre dados diferentes
As versões devem, necessariamente, possuir listas de
parâmetros diferentes (no tipo ou no número)
O tipo do valor de retorno das versões do método
pode ser igual
String verExtrato (){...}//1º dia do mês atual
String verExtrato (int pMes){...}// 1º dia do mês informado
String verExtrato (int pMes, int pDia){...}// dia
específico do mês informado
© 2007 Marco Fagundes - [email protected]
4
Sobrecarga de Métodos (overloading)
Diferentes tipos de retorno das versões do método
não são considerados para sobrecarga
String verExtrato (){...}
String verExtrato (int pMes){...}
char[] verExtrato (int pMes){...}
Erro
Erro !!!
!!!
© 2007 Marco Fagundes - [email protected]
5
Sobrecarga de Métodos
ContaCorrente
numero: String
saldo: float
String verExtrato()
String verExtrato (int pMes)
String verExtrato (int pMes, int pDia)
© 2007 Marco Fagundes - [email protected]
6
Sobrecarga (Overload) de Métodos
public class ContaCorrente{
private String numero;
Overload de
private float saldo;
Métodos
...
public String verExtrato(){
return “Extrato do 1º dia do mês atual”;
}
public String verExtrato(int pMes){
return “Extrato do 1º dia do mês ” + pMes;
}
class TestaConta{
...
public static void main(String[] args){
}
ContaCorrente c1 = new ContaCorrente();
System.out.println(c1.verExtrato());
System.out.println(c1.verExtrato(4));
}
}
© 2007 Marco Fagundes - [email protected]
7
Lab5 - Overload de Métodos
Estenda a classe ContaCorrente adicionando um
atributo limite adicional.
Implemente um método para configurar o limite. Este
método não recebe parâmetro e configura o limite
para R$ 800,00
Realize a sobrecarga do método de configuração de
limite, onde este método deve esperar um parâmetro
que será gravado no atributo limite.
© 2007 Marco Fagundes - [email protected]
8
Lab5 - Overload de Métodos
Na classe aplicativo crie um objeto do tipo
ContaCorrente e em seguida grave valores para o
número e saldo.
Imprima os dados do objeto criado.
Ative o método de configuração do limite para o valor
padrão.
Imprima o limite adicional.
Ative o método de configuração do limite passando
como parâmetro um valor do novo limite.
Imprima o novo limite adicional.
© 2007 Marco Fagundes - [email protected]
9
Sobrecarga (Overload) de Construtores
class ContaCorrente{
Overload de
construtores
private String numero;
private float saldo;
ContaCorrente (){}// construtor padrão
ContaCorrente(String pNumero, String pSaldo){
this.nome = pNumero;
this.saldo = pSaldo; }
}}
class TestaConta{
public static void main(String[] args){
ContaCorrente c1 = new ContaCorrente();
ContaCorrente c2 = new ContaCorrente(“cc01”, 100.0);
exibir dados do c1 e c2...
} }
© 2007 Marco Fagundes - [email protected]
10
Pontos Principais
Overload permite criar vários métodos com o
mesmo nome
Os seguintes elementos da assinatura método são
considerado para overload: tipo dos parâmetros
+ número de parâmetros
Tipo de retorno não é considerado para overload
© 2007 Marco Fagundes - [email protected]
11
Leitura Recomendada
Tutorial
Sun: Learning the Java Language
Lesson: Object-Oriented Programming Concepts
http://java.sun.com/docs/books/tutorial/java/concepts/
index.html
Lesson: Classes and Objects
http://java.sun.com/docs/books/tutorial/java/javaOO/i
ndex.html
© 2007 Marco Fagundes - [email protected]
12
Download