Na programação orientada a objetos utilizam-se conceitos com...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a letra B: um método pode receber parâmetros de tipos diferentes. Na programação orientada a objetos, particularmente no Java, os métodos são fundamentais para definir o comportamento das classes e dos objetos criados a partir delas. Um método, nesse contexto, pode realizar diferentes ações, receber diferentes tipos de dados como entrada (parâmetros) e retornar um valor. A capacidade de um método aceitar parâmetros de diversos tipos é conhecida como polimorfismo de sobrecarga (ou method overloading).
Essa característica permite que vários métodos dentro de uma mesma classe tenham o mesmo nome, mas com listas de parâmetros diferentes, sendo diferenciados pela quantidade e/ou tipo dos argumentos fornecidos. Isso facilita o uso da classe, permitindo que métodos logicamente relacionados compartilhem o mesmo nome, mas funcionem com diferentes tipos de dados ou quantidades de parâmetros.
Por exemplo, poderíamos ter um método para somar valores que pode receber dois inteiros:
public int somar(int a, int b) {
return a + b;
}
E um método com o mesmo nome que soma três inteiros:
public int somar(int a, int b, int c) {
return a + b + c;
}
Esses métodos são sobrecarregados, pois têm o mesmo nome, mas assinaturas diferentes (ou seja, a quantidade e/ou o tipo de parâmetros são diferentes).
Para entender melhor o conceito, vamos analisar rapidamente as demais alternativas:
- Alternativa A: é incorreta porque, como explicado, os métodos podem ser sobrecarregados na mesma classe.
- Alternativa C: é incorreta porque a sobrescrita de métodos (method overriding) ocorre quando uma subclasse redefine um método da superclasse, não na mesma classe.
- Alternativa D: é incorreta porque nas classes as implementações de métodos não precisam ser abstratas, enquanto que nas interfaces, até antes do Java 8, os métodos eram implicitamente abstratos; atualmente, as interfaces podem ter métodos default e estáticos com implementações concretas.
- Alternativa E: é incorreta porque os métodos em Java podem tanto receber parâmetros quanto retornar valores, de qualquer tipo, inclusive tipos primitivos, objetos ou até mesmo não retornar nada (void).
Portanto, a compreensão de sobrecarga de métodos e a flexibilidade dos métodos em Java para receber diferentes tipos de parâmetros são essenciais para a seleção da alternativa correta.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Método pode receber parâmetros de tipos diferentes.
public int escreverNumero (float num) * metódo com parâmetro diferente
Sobrescrita e sobrecarga
O Java permite que você tenha métodos com o mesmo nome, mas com assinaturas diferentes, isto chama-se sobrecarga. O interpretador determinará qual método deve ser invocado pelo tipo de parâmetro passado. Os trecho abaixo é válido para uma compilação Java.
...
public void print( int i ) { ... }
public void print( float f ) { ... }
public void print( String s) { ... }
...
Quando você escreve o código para chamar um desses métodos, a chamada deverá coincidir com tipos de dados da lista de parâmetros de algum dos métodos. Diferente da sobrecarga, a sobrescrita acontece quando um método existe em uma classe pai e é reescrito na classe filha para alterar o comportamento. A assinatura do método deve ser igual na classe pai e na classe filha.
http://lpjava.blogspot.com.br/2007/11/sobrescrita-e-sobrecarga.html
SOBRECARGA permite que utilizemos o mesmo nome em mais de um método contanto que suas listas de argumentos(assinatura) sejam diferentes para que seja feita a separação dos mesmos.
SOBRECARGA(OVERLOAD) – métodos com o mesmo nome DENTRO da mesma classe
SOBREPOSIÇÃO(OVERRIDE) @@– métodos com o mesmo nome em CLASSES DIFERENTES
SOBREPOSIÇÃO(OVERRIDE) - devem possuir o mesmo nome, tipo de retorno e quantidade de parâmetros do método inicial, porém o mesmo será implementado com especificações da classe atual, podendo adicionar um algo a mais ou não.
Quem não tem acesso: - -> B
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo