Qual dos seguintes conceitos permite a execução de diferentes funções que têm o mesmo nome, mas assinaturas de parâmetros diferentes?
Questão
Qual dos seguintes conceitos permite a execução de diferentes funções que têm o mesmo nome, mas assinaturas de parâmetros diferentes?
Alternativas
a) Herança.
b) Sobrecarga de métodos.
c) Encapsulamento.
d) Composição.
e) Sobrescrita de métodos.
Explicação
O enunciado descreve a possibilidade de existirem várias funções/métodos com o mesmo nome, porém com assinaturas diferentes (isto é, mudando a lista de parâmetros: quantidade, tipos e/ou ordem). Esse mecanismo é chamado de sobrecarga (overloading).
- Herança: trata de reutilização/extensão de classes, não de múltiplas assinaturas com o mesmo nome.
- Encapsulamento: trata de esconder detalhes internos e controlar acesso.
- Composição: trata de construir objetos a partir de outros objetos.
- Sobrescrita (overriding): redefine um método herdado na subclasse, normalmente mantendo a mesma assinatura.
Logo, o conceito correto é sobrecarga de métodos.
Alternativa correta: (b).