Como é denominado em PHP e em outras linguagens orientadas ...

Próximas questões
Com base no mesmo assunto
Q825064 Programação
Como é denominado em PHP e em outras linguagens orientadas a objetos, o recurso que permite que dois métodos dentro de uma classe tenham o mesmo nome?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Sobrecarga.

A questão aborda o conceito de sobrecarga de métodos, que é uma funcionalidade presente em várias linguagens de programação orientadas a objetos, incluindo PHP. A sobrecarga permite que uma classe tenha múltiplos métodos com o mesmo nome, contanto que esses métodos tenham listas de parâmetros diferentes (ou seja, o número de parâmetros e/ou seus tipos devem diferir entre os métodos sobrecarregados). Isso permite que o mesmo método realize ações diferentes dependendo dos argumentos que são passados para ele durante a chamada.

Para entender o porquê da alternativa C ser a correta, é importante conhecer os conceitos das outras opções e saber por que eles não se encaixam na pergunta:

  • Herança múltipla se refere a uma classe derivando de mais de uma classe base, o que não tem relação com métodos de mesmo nome dentro de uma única classe.
  • Redundância é um termo geral que pode se referir a repetição desnecessária e não é um conceito específico de programação orientada a objetos relacionado a métodos com o mesmo nome.
  • Herança é um princípio pelo qual uma classe pode herdar características (métodos e propriedades) de outra classe. Também não descreve a situação de ter dois métodos com o mesmo nome na mesma classe.

O motivo pelo qual a alternativa C - Sobrecarga é a correta é porque ela descreve exatamente o conceito de múltiplos métodos com o mesmo nome numa mesma classe que diferem pelos parâmetros que recebem. É importante notar que, apesar de ser um conceito comum em linguagens como Java e C++, o PHP não suporta a sobrecarga de métodos da mesma maneira. No PHP, a "sobrecarga" é feita através de métodos mágicos, como __call(), que são utilizados de maneira diferente em comparação com outras linguagens que suportam a sobrecarga nativamente.

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

Gabarito: C.

 

Sobrecarga - mesmo nome; assinatura diferente.

Polimorfismo - mesma assinatura; comportamento diferente.

Sobrecarga, overload, polimorfismo estático.

 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo