Ajuda Overrriding e Overloading

3 respostas
J

Pessoal, alguem pode me ajudar, o que seria Overrriding e Overloading?

3 Respostas

vega

Overrinding ainda não aprendi
Overload é quando é necessário criar varios métodos com o mesmo nome mas com assinaturas diferentes para o programa ficar funcional

exemplo

public static void main (String [] args ){ chamarTeste(2,3,3,4); chamarTeste(4,4); chamarTeste(4,3,3); } public static double chamarTeste(double a,double b, double c, double d){ double soma = a+b+c+d; return soma; } public static double chamarTeste(double a,double b){ double soma = a+b+c+d; return soma; } public static double chamarTeste(double a,double b, double c){ double soma = a+b+c+d; return soma; }

Em cima os metodos tem o mesmo nome, muda apenas o que está entre parenteses, porque a quantidade de dados passados pelo método main pode ser 3,2 ou 4…
Isso é overloading.

balrog

overriding:
classe A tem metodo XYZ
classe B extends classe A e tbm implementa metodo XYZ

ps: note
1 um metodo final nao pode ser sobre escrito
2 um metodo static na super classe tem que ser static na classe derivada

M

E nesse caso não é sobrescrita (pois sobrescrita é um conceito de OO, como o método é estático, não se trata de um objeto). Nesse caso apenas definimos um método com o mesmo nome do definido na superclasse. Note que ainda podem ser chamados independentemente:

class A {

    public static void foo() {
        System.out.println("A");
    }

    public void doStatic() {
        foo();
    }

}
class B extends A {

    public static void foo() {
        System.out.println("B");
    }

}

Se chamarmos os métodos assim:

A.foo(); // imprime "A"
B.foo(); // imprime "B"
new A().doStatic(); // imprime "A"
new B().doStatic(); // imprime "A"
Criado 8 de julho de 2010
Ultima resposta 8 de jul. de 2010
Respostas 3
Participantes 4