wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Encapsulamento e Relacionamento

Total questions: 45

Worksheet time: 23mins

Name
Class
Date
1.

O escopo de namespace define que as variáveis declaradas dentro de um namespace podem ser acessadas apenas pela classe que as declarou.

a)

Verdadeiro

b)

Falso

2.

Modificadores de acesso controlam a visibilidade dos atributos e métodos de uma classe.

a)

Verdadeiro

b)

Falso

3.

O encapsulamento permite que atributos e métodos fiquem ocultos de quem os utiliza, promovendo modularidade e segurança.

a)

Verdadeiro

b)

Falso

4.

Um atributo de instância pertence a todos os objetos de uma classe, ou seja, qualquer modificação em um objeto afeta os outros.

a)

Verdadeiro

b)

Falso

5.

Métodos estáticos só podem acessar atributos e métodos que também sejam estáticos.

a)

Verdadeiro

b)

Falso

6.

A palavra-chave this em C# refere-se ao objeto atual da classe.

a)

Verdadeiro

b)

Falso

7.

O método Main em C# pode ser chamado diretamente sem a necessidade de criar uma instância da classe que o contém.

a)

Verdadeiro

b)

Falso

8.

Uma classe declarada como static pode ser instanciada e herdada por outras classes.

a)

Verdadeiro

b)

Falso

9.

O Garbage Collector do .NET Framework é responsável por liberar objetos não mais referenciados na memória automaticamente.

a)

Verdadeiro

b)

Falso

10.

Construtores em C# são métodos especiais que possuem o mesmo nome da classe e têm a função de inicializar objetos.

a)

Verdadeiro

b)

Falso

11.

Em C#, uma classe pode ter múltiplos destrutores, desde que tenham assinaturas diferentes.

a)

Verdadeiro

b)

Falso

12.

Métodos get e set são usados para manipular atributos privados, promovendo o encapsulamento na programação orientada a objetos.

a)

Verdadeiro

b)

Falso

13.

Na dependência, um objeto pode usar outro sem que haja um vínculo estrutural forte.

a)

Verdadeiro

b)

Falso

14.

Na composição, um objeto pode continuar existindo mesmo que seu 'todo' seja destruído.

a)

Verdadeiro

b)

Falso

15.

A associação permite que um objeto contenha outro como atributo.

a)

Verdadeiro

b)

Falso

16.

Em UML, a agregação é representada por um losango preenchido.

a)

Verdadeiro

b)

Falso

17.

A composição pode ser vista como um caso especial de agregação, mas com posse exclusiva.

a)

Verdadeiro

b)

Falso

18.

Um sistema bancário que mantém uma lista de clientes dentro da classe Banco é um exemplo de agregação.

a)

Verdadeiro

b)

Falso

19.

Qual é o principal benefício do encapsulamento em programação orientada a objetos?

a)

Aumentar o desempenho do programa.

b)

Tornar os atributos acessíveis diretamente por qualquer classe.

c)

Melhorar a segurança e modularidade do código.

d)

Permitir que os métodos estáticos sejam acessíveis sem instância.

20.

Qual dos seguintes modificadores de acesso permite que um atributo seja acessado apenas dentro da classe que o declarou?

a)

public

b)

private

c)

protected

d)

internal

21.

O que acontece se uma variável for declarada dentro de um bloco {} e tentarmos acessá-la fora desse bloco?

a)

Ela pode ser acessada normalmente.

b)

O compilador exibe um erro informando que a variável não existe.

c)

O valor da variável será substituído pelo valor padrão do seu tipo.

d)

O código continua executando normalmente, mas a variável recebe null.

22.

Qual palavra-chave é usada para indicar que um atributo pertence a uma classe e não a um objeto específico?

a)

static

b)

instance

c)

shared

d)

global

23.

Um método estático pode acessar diretamente quais tipos de membros da classe?

a)

Apenas atributos e métodos não estáticos.

b)

Apenas atributos e métodos estáticos.

c)

Apenas métodos, mas não atributos.

d)

Qualquer membro da classe, independentemente do escopo.

24.

O que acontece quando um objeto é desalocado da memória em C#?

a)

Ele é automaticamente destruído pelo Garbage Collector.

b)

O programador precisa chamar explicitamente o destrutor da classe.

c)

Ele continua existindo na memória até o fim da execução do programa.

d)

Ele é destruído imediatamente após a execução de seu último método.

25.

Qual das seguintes opções NÃO é um tipo de escopo de variável em C#?

a)

Escopo de parâmetro

b)

Escopo de instância

c)

Escopo de afinidade

d)

Escopo de namespace

26.

Em relação ao escopo de atributos de classe (static), qual das afirmações é verdadeira?

a)

Cada objeto da classe tem uma cópia independente dos atributos estáticos.

b)

Os atributos estáticos são compartilhados entre todas as instâncias da classe.

c)

Os atributos estáticos são inicializados com valores aleatórios.

d)

Um atributo static pode ser acessado apenas dentro da classe onde foi declarado.

27.

Qual é a principal característica de um método construtor?

a)

Possui o mesmo nome da classe e inicializa os atributos do objeto.

b)

Pode ter qualquer nome e é responsável por destruir objetos.

c)

Sempre retorna um valor do tipo void.

d)

Só pode ser chamado uma única vez na execução do programa.

28.

O que acontece se uma classe for declarada como static?

a)

Ela pode ser instanciada, mas não pode ser herdada.

b)

Ela não pode ser instanciada nem herdada.

c)

Ela pode ser herdada, mas não pode ser instanciada.

d)

Ela funciona como qualquer outra classe comum.

29.

O que caracteriza a sobrecarga de construtores em C#?

a)

Múltiplos construtores com nomes diferentes na mesma classe.

b)

Construtores que possuem a mesma assinatura.

c)

Construtores com o mesmo nome da classe, mas assinaturas diferentes.

d)

Apenas um único construtor pode existir em uma classe.

30.

Qual dos seguintes exemplos mostra a sintaxe correta de um destrutor em C#?

a)

~ClasseNome { // Código }

b)

void ~ClasseNome() { // Código }

c)

public ~ClasseNome() { // Código }

d)

delete ClasseNome { // Código }

31.

Como podemos garantir que um atributo private seja acessado de forma segura?

a)

Utilizando métodos get e set.

b)

Alterando o modificador para public.

c)

Criando uma variável global que armazene os valores do atributo.

d)

Usando diretamente this.atributo fora da classe.

32.

Se um método static tentar acessar um atributo não estático diretamente, o que acontece?

a)

O código compila sem erros.

b)

O compilador gera um erro, pois métodos estáticos só podem acessar membros estáticos.

c)

O código entra em um loop infinito.

d)

O método converte automaticamente o atributo para estático.

33.

Qual é a principal diferença entre um atributo de instância e um atributo estático?

a)

O atributo de instância pertence à classe, enquanto o estático pertence ao objeto.

b)

O atributo estático é compartilhado por todas as instâncias da classe.

c)

O atributo de instância pode ser acessado sem instanciar um objeto.

d)

Ambos têm comportamento idêntico, mas o estático ocupa menos memória.

34.

Qual palavra-chave permite que uma classe filha acesse atributos protegidos da classe pai?

a)

private

b)

public

c)

internal

d)

protected

35.

Qual dos seguintes relacionamentos indica que um objeto USA outro objeto?

a)

Associação

b)

Composição

c)

Dependência

d)

Herança

36.

A associação simples pode indicar que um objeto:

a)

Usa outro objeto temporariamente

b)

Pertence a outro objeto exclusivamente

c)

É parte de outro objeto sem poder existir sozinho

d)

Só pode existir se o outro objeto também existir

37.

Qual é a principal diferença entre agregação e composição?

a)

Na agregação, a parte pode existir sem o todo

b)

Na composição, a parte pode existir sem o todo

c)

Ambos são idênticos

d)

Nenhum deles envolve relacionamentos entre classes

38.

O que é representado pelo losango aberto em UML?

a)

Dependência

b)

Associação

c)

Agregação

d)

Composição

39.

Na agregação, o que acontece se o objeto "Todo" for destruído?

a)

O objeto "Parte" também é destruído

b)

O objeto "Parte" continua existindo

c)

A relação entre os objetos é invertida

d)

O sistema lança uma exceção

40.

Em um sistema de biblioteca, qual relacionamento permite que a biblioteca contenha uma coleção de livros sem gerenciar seu tempo de vida?

a)

Dependência

b)

Associação

c)

Agregação

d)

Composição

41.

Se um objeto depende de outro e precisa ser atualizado quando a interface do outro muda, esse relacionamento é de:

a)

Agregação

b)

Associação

c)

Dependência

d)

Composição

42.

O que representa uma multiplicidade "1..*" em um relacionamento UML?

a)

Exatamente um

b)

Nenhum ou muitos

c)

Um ou mais

d)

Apenas múltiplos de um

43.

O que acontece com os objetos dentro de uma classe que implementa composição quando essa classe é destruída?

a)

Os objetos podem continuar existindo

b)

Apenas alguns objetos são removidos

c)

Todos os objetos são destruídos

d)

Não há impacto nos objetos internos

44.

Qual dos seguintes elementos NÃO é uma forma de relacionamento?

a)

Associação

b)

Dependência

c)

Generalização

d)

Polimorfismo

45.

Qual dos relacionamentos a seguir é mais fraco em termos de acoplamento entre classes?

a)

Composição

b)

Associação

c)

Agregação

d)

Dependência