Programação Orientada A Objetos
Trabalho Escolar: Programação Orientada A Objetos. Pesquise 861.000+ trabalhos acadêmicosPor: wwdado • 2/10/2014 • 847 Palavras (4 Páginas) • 434 Visualizações
1. Aprendemos até o momento conceitos importantes de orientação a objetos. Um desses conceitos é a sobrecarga de métodos. Podemos sobrecarregar tanto um método construtor, quanto outro método qualquer.
Considerando a sobrecarga de métodos, para as classes abaixo, em cada uma das 5 chamadas ao método somaValores na classe Teste, identifique qual forma do método será chamada: a primeira, segunda ou terceira forma. Justifique sua resposta. (3,0 pontos)
import javax.swing.*;
public class Sobrecarga {
public int somaValores (int a, int b) {
return a+b;
}
public double somaValores (double a, int b) {
return a+b;
}
public double somaValores (double a, double b) {
return a+b;
}
}
public class Teste {
public static void main(String[] args) {
Sobrecarga ob = new Sobrecarga();
int a = 1;
int b = 2;
int x = 3;
double c = 4;
double d = 5;
JOptionPane.showMessageDialog(null, ob.somaValores(c,a));
JOptionPane.showMessageDialog(null, ob.somaValores(d,a));
JOptionPane.showMessageDialog(null, ob.somaValores(a,b));
JOptionPane.showMessageDialog(null, ob.somaValores(c,d));
JOptionPane.showMessageDialog(null, ob.somaValores(x,a));
}
}
RESPOSTA:
public class Sobrecarga {
//============================================================================
//notar que é o mesmo método chamando variáveis de tipos diferentes
public int somaValores (int a, int b) {
return a+b;
}
public double somaValores (double a, int b) {
return a+b;
}
public double somaValores (double a, double b) {
return a+b;
}
//===========================================================================
}
import javax.swing.*;
public class Teste {
public static void main(String[] args) {
Sobrecarga ob = new Sobrecarga();
//A sobrecarga é usada para tratar as diferenças entre tipos de
//variáveis encontradas nas diversas chamadas ao método
//usa-se o mesmo método para tratar com tipos diferentes
int a = 1;
int b = 2;
int x = 3;
double c = 4;
double d = 5;
JOptionPane.showMessageDialog(null, ob.somaValores(c,a));
/* irá chamar o segundo método:
public double somaValores (double a, int b) {
return a+b;
}
pois:
a variável c é do tipo double
e
a variável a é do tipo int
**************************************************/
JOptionPane.showMessageDialog(null, ob.somaValores(d,a));
/* irá chamar o segundo método:
public double somaValores (double a, int b) {
return a+b;
}
pois:
a variável d é do tipo double
e
a variável a é do tipo int
**************************************************/
JOptionPane.showMessageDialog(null, ob.somaValores(a,b));
/* irá chamar o primeiro método:
public int somaValores (int a, int b) {
return a+b;
}
pois:
a variável a é do tipo int
e
a variável b é do tipo int
*****************************************************/
JOptionPane.showMessageDialog(null,
...