Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Quadrix 2025

ProgramaçãoProgramação Orientada a Objetos
Código
qg594762
Banca
Quadrix
Órgão
CFBio
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas
Acerca da linguagem Python e dos conceitos sobre desenvolvimento web, julgue o item a seguir.O método speak(), utilizado em JavaScript para representar o comportamento de um objeto que pode emitir algum som, deve ser declarado dentro da classe como uma função regular, sendo referenciado pelo objeto instanciado, para que possa ser chamado corretamente.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Métodos em JavaScript: declaração e chamada

Gabarito: C — CERTO. Em JavaScript, um método como speak() que representa o comportamento de um objeto deve ser declarado como uma função regular dentro da classe e, para ser chamado corretamente, deve ser referenciado pelo objeto instanciado (por exemplo, meuObjeto.speak()). Essa é a forma padrão de definir e invocar métodos em classes JavaScript, conforme o modelo de orientação a objetos da linguagem.

Na programação orientada a objetos, uma classe é o molde que define atributos (estado) e métodos (comportamento) dos objetos. O método é uma função que pertence à classe e descreve uma ação que o objeto pode executar. Em JavaScript, desde o ES6 (ECMAScript 2015), as classes foram introduzidas como açúcar sintático sobre o modelo de protótipos, e a sintaxe para declarar um método dentro de uma classe é exatamente a de uma função regular, sem a palavra-chave function e sem os dois pontos usados em objetos literais.

Por exemplo, para representar um animal que emite som, poderíamos ter:

class Animal {
  speak() {
    console.log('Som genérico');
  }
}

const animal = new Animal();
animal.speak(); // 'Som genérico'

Aqui, speak() é declarado como uma função regular dentro da classe Animal. Para chamá-lo, é necessário instanciar a classe com new Animal() e então referenciar o método através do objeto instanciado: animal.speak(). Essa é a forma correta e padrão de se trabalhar com métodos em JavaScript.

A banca explora a confusão entre a declaração de métodos em classes e a declaração de funções em objetos literais, ou ainda a ideia de que métodos poderiam ser chamados diretamente pela classe, sem instância. Em JavaScript, métodos de instância (como speak()) só podem ser chamados por um objeto instanciado, a menos que sejam métodos estáticos, que são chamados diretamente pela classe. A distinção entre método de instância e método estático é o ponto central que separa a afirmação correta da incorreta.

Item — ✅ CERTO

A afirmação está correta. O método speak() deve ser declarado como uma função regular dentro da classe, e para ser chamado corretamente, deve ser referenciado pelo objeto instanciado. Isso é exatamente o que o enunciado descreve. Em JavaScript, a sintaxe para declarar um método em uma classe é:

class Animal {
  speak() {
    // corpo do método
  }
}

E a chamada correta é feita através de uma instância:

const animal = new Animal();
animal.speak();

Se o método fosse declarado como estático (com a palavra-chave static), ele seria chamado diretamente pela classe (Animal.speak()), mas o enunciado fala de um método que representa o comportamento de um objeto, o que caracteriza um método de instância. Portanto, a declaração como função regular e a chamada pelo objeto instanciado estão corretas.

PEGA ESSA DICA!

Para diferenciar método de instância de método estático em JavaScript, lembre-se: método de instância é chamado pelo objeto (objeto.metodo()), enquanto método estático é chamado pela classe (Classe.metodo()). Na prova, se o enunciado falar em "comportamento de um objeto", quase sempre será método de instância.

Gabarito: C — CERTO.

Link permanente: /questoes/qg594762