Questão nº 36

Questão de Programação · FCC TJ-CE 2022 (nº 36)

FCC2022Analista Judiciário - Especialidade Ciência da Computação - Área Sistemas da InformaçãoProgramação
Gabarito: Aver comentário ↓

Considere o trecho de código em Ruby.

```ruby
class Calcula
def self.soma(x,y)
puts(x+y)
end
def self.soma(x,y,z)
puts(x+y+z)
end
end
```

Considerando um ambiente de testes em condições ideais,

Resposta comentada

Gabarito Alternativa A

Em Ruby, sobrecarga de métodos (ter o mesmo nome de método com diferentes números ou tipos de argumentos) não é suportada diretamente como em outras linguagens. Quando você define um método com o mesmo nome várias vezes na mesma classe, a última definição sobrescreve (substitui) as anteriores.

(A) Correta: Após a definição da classe, o único método `soma` que existe é o que aceita três argumentos (`def self.soma(x,y,z)`). Ao chamar `Calcula.soma(10,8)`, você fornece apenas dois argumentos, o que resulta em um erro de `ArgumentError: wrong number of arguments (given 2, expected 3)`.
(B) Incorreta: A classe `Calcula` não apresenta um exemplo de sobrecarga de métodos. Em Ruby, a segunda definição de `soma` simplesmente sobrescreve a primeira. Armadilha da banca: O código parece uma sobrecarga, mas em Ruby, a última definição de método com o mesmo nome é a que prevalece, não havendo coexistência de métodos com o mesmo nome e diferentes assinaturas.
(C) Incorreta: Ao se realizar a execução de `Calcula.soma(10,8,2)`, o método `soma` que foi definido por último (e que aceita três argumentos) será chamado com sucesso, imprimindo `20`. Não haverá erro de número de argumentos.
(D) Incorreta: Ruby não utiliza anotações como `@Overload` para indicar sobrecarga de métodos, pois o conceito de sobrecarga tradicional não existe na linguagem.
(E) Incorreta: Ruby não utiliza anotações como `@Override` para indicar sobrescrita de métodos (que é um conceito relacionado à herança, diferente de sobrecarga).

Fonte: FCC TJ-CE 2022 Analista Judiciário - Especialidade Ciência da Computação - Área Sistemas da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho