O JavaScript, na condição de linguagem de programação multiparadigma, é uma linguagem que tem suporte ao paradigma de orientação a objetos, sendo capaz de criar objetos com atributos e métodos. Indique a opção que representa a criação de um método para uma classe qualquer em JavaScript:
Questão
O JavaScript, na condição de linguagem de programação multiparadigma, é uma linguagem que tem suporte ao paradigma de orientação a objetos, sendo capaz de criar objetos com atributos e métodos. Indique a opção que representa a criação de um método para uma classe qualquer em JavaScript:
Alternativas
a) function boasVindas() { alert('Olá Cliente!'); }
b) def boasVindas: (quebra de linha) print("Olá Cliente")
c) Banco.prototype.boasVindas = function() { alert('Olá Cliente!'); }
d) let boasVindas = printfn "Olá Cliente!"
e) function boasVindas() { console.log('Olá Cliente!'); }
Explicação
A questão pede a criação de um método para uma classe (isto é, um método associado ao “tipo”/função construtora, e não apenas uma função solta).
Em JavaScript (especialmente no modelo clássico com função construtora), uma forma típica de definir um método de instância para a “classe” é adicioná-lo ao prototype:
-
Se
Bancorepresenta uma função construtora (a “classe”), então:cria o método
boasVindaspara que todas as instâncias criadas comnew Banco()herdem esse método.
Analisando as alternativas:
- a) e e) criam apenas uma função global chamada
boasVindas, não um método de uma classe. - b) parece sintaxe de Python.
- d) parece sintaxe de outra linguagem (ex.: F#).
- c) define corretamente um método no
prototypedeBanco.
Alternativa correta: (c).