Buscar

Sobrecarga TP1

Prévia do material em texto

*
*
- Sobrecarga (Overloading)-
Flávio Ferro
Técnicas de Programação 1
*
*
Tópicos
Métodos
Sobrecarga de Métodos
Exercício 
Leitura Recomendada
*
*
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>
*
*
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
*
*
String verExtrato (){...} 
String verExtrato (int pMes){...}
char[] verExtrato (int pMes){...}
Sobrecarga de Métodos (overloading)
Erro !!!
Diferentes tipos de retorno das versões do método não são considerados para sobrecarga
*
*
Sobrecarga de Métodos
*
*
Sobrecarga (Overload) de Métodos
public class ContaCorrente{
 private String numero; 
 private float saldo;
 ...
 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;
 }
 ...
}
Overload de Métodos
class TestaConta{
public static void main(String[] args){
 ContaCorrente c1 = new ContaCorrente();
 System.out.println(c1.verExtrato());
 System.out.println(c1.verExtrato(4));
 }
}
*
*
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.
*
*
Lab5 - Overload de Métodos
Na classe TestaContaCorrente 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.
*
*
Lab6 - Overload de Métodos
Criar uma classe chamada Area para calcular a área do quadrado e do retângulo.
Criar os métodos calculaArea para realizar o cálculo das respectivas áreas.
Para o cálculo da área do quadrado será passado um parâmetro e para o retângulo dois parâmetros.
Criar a classe principal TestaArea para realizar a chamada dos métodos e exibir seus respectivos valores. 
*
*
Lab7 - Overload de Métodos
Implementar uma calculadora simples que some apenas dois valores do mesmo tipo por vez. 
Na classe calculadora teremos o método calcula que será sobrecarregado com variações de tipos de soma, ou seja, essa classe deve possuir três métodos que somam dois valores do mesmo tipo (int, double e string).
Criar a classe TestaCalculadora para executar a calculadora implementada e exibir seus valores.
*
*
class ContaCorrente{
 private String numero; 
 private float saldo;
 ContaCorrente (){}// construtor padrão
 ContaCorrente(String pNumero, float pSaldo){
 this.nome = pNumero;
 this.saldo = pSaldo; }
 }}
Sobrecarga (Overload) de Construtores
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...
 } }
Overload de construtores
*
*
Lab8 - Overload de Construtores
Estenda o Lab7, calculadora simples, de forma a efetuar uma sobrecarga de construtores. 
Insira na classe calculadora os atributos marca, modelo e uso, todos do tipo string.
Crie um construtor para marca e modelo.
Crie outro construtor para marca, modelo e uso.
Na classe TestaCalculadora crie dois objetos com a classe Calculadora e utilize os construtores criados.
Execute e exiba seus valores.
*
*
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
*
*
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/index.html
*

Continue navegando