Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz de Programação Orientada a Objetos

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

O que é uma classe em programação orientada a objetos?

a)

Um tipo de dado primitivo

b)

Um modelo para criar objetos com propriedades e métodos

c)

Uma função que retorna valores aleatórios

d)

Um arquivo de configuração

2.

Em JavaScript, como se implementa a herança entre classes?

a)

Utilizando a palavra-chave `extends`

b)

Usando o operador `+`

c)

Através da função `inherit()`

d)

Com a palavra-chave `implements`

3.

Qual das alternativas melhor define encapsulamento?

a)

Tornar todos os atributos públicos

b)

Esconder detalhes internos de implementação e expor apenas o necessário

c)

Permitir acesso irrestrito a todos os métodos

d)

Compartilhar variáveis globais entre funções

4.

O que é polimorfismo em programação orientada a objetos?

a)

Capacidade de uma função executar apenas uma tarefa

b)

Capacidade de um objeto assumir várias formas, dependendo do contexto

c)

Criação de variáveis estáticas

d)

Uso de apenas métodos privados

5.

Qual princípio SOLID está relacionado à ideia de que uma classe deve ter apenas uma razão para mudar?

a)

Princípio da Responsabilidade Única (SRP)

b)

Princípio da Substituição de Liskov (LSP)

c)

Princípio da Segregação de Interface (ISP)

d)

Princípio da Inversão de Dependência (DIP)

6.

O que são funções de ordem superior em JavaScript?

a)

Funções que não aceitam parâmetros

b)

Funções que retornam ou recebem outras funções como argumento

c)

Funções que só podem ser usadas em classes

d)

Funções que não possuem retorno

7.

Qual das opções abaixo representa corretamente a criação de um objeto a partir de uma classe em JavaScript?

a)

`let obj = new MinhaClasse();`

b)

`let obj = MinhaClasse.create();`

c)

`let obj = MinhaClasse.prototype();`

d)

`let obj = Object.create(MinhaClasse);`

8.

No contexto de encapsulamento em JavaScript, como se pode tornar um atributo privado em uma classe?

a)

Declarando o atributo com `var`

b)

Utilizando o símbolo `#` antes do nome do atributo

c)

Declarando o atributo como `public`

d)

Usando a palavra-chave `static`

9.

Qual das alternativas abaixo exemplifica polimorfismo?

a)

Duas classes diferentes implementando um método com o mesmo nome, mas comportamentos distintos

b)

Uma função que retorna sempre o mesmo valor

c)

Um atributo que nunca muda de valor

d)

Um método que só pode ser chamado uma vez

10.

Sobre os princípios SOLID, o que significa o Princípio da Inversão de Dependência (DIP)?

a)

Módulos de alto nível não devem depender de módulos de baixo nível, ambos devem depender de abstrações

b)

Classes devem ser abertas para modificação

c)

Interfaces devem ser grandes e genéricas

d)

Objetos devem ser criados diretamente dentro das classes