Questão nº 84
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 84)
Uma das principais facilidades da programação orientada a objetos é a possibilidade de sobrecarregar funções.
Considere que existe uma função chamada calcularArea apresentada com o seu protótipo em pseudocódigo no formato:
```
tipo_retorno nome_Função (tipo_Argumento1 nome_Argumento1, …, tipo_ArgumentoN nome_ArgumentoN)
```
O protótipo da função calcularArea é:
```
float calcularArea (Quadrado quadrado1)
```
Assinale a opção que apresenta um exemplo de sobrecarga da função calcularArea.
- AClass Circulo implements Quadrado
- BClass Quadrado extends Poligono
- Cfloat calcularAreaCirculo (float raio)
- Dinteiro calcularArea (Quadrado quadrado1)
- Efloat calcularArea (Circulo circulo1) (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Sobrecarga de métodos é quando você tem várias funções (métodos) com o mesmo nome em uma classe, mas que se diferenciam pelos tipos ou número de seus parâmetros de entrada.
- (A) Incorreta: Isso descreve uma relação de implementação (interfaces) entre classes, não sobrecarga de métodos.
- (B) Incorreta: Isso descreve uma relação de herança entre classes, não sobrecarga de métodos.
- (C) Incorreta: A função
calcularAreaCirculotem um nome diferente decalcularArea, portanto não é sobrecarga. - (D) Incorreta: Embora tenha o mesmo nome (
calcularArea) e o mesmo tipo de parâmetro (Quadrado), a sobrecarga não pode ser feita apenas pela mudança do tipo de retorno (inteiroem vez defloat). A armadilha da banca aqui é que muitos iniciantes confundem a mudança do tipo de retorno com uma forma válida de sobrecarga, mas a regra é clara: a lista de parâmetros (tipos e/ou quantidade) deve ser diferente. - (E) Correta: Esta é uma sobrecarga válida porque a função
calcularAreamantém o mesmo nome, mas sua lista de parâmetros é diferente (recebe umCirculoem vez de umQuadrado).
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.