NEW
Font size
WorksheetsEncapsulamento e Relacionamento
Total questions: 45
Worksheet time: 23mins
O escopo de namespace define que as variáveis declaradas dentro de um namespace podem ser acessadas apenas pela classe que as declarou.
Verdadeiro
Falso
Modificadores de acesso controlam a visibilidade dos atributos e métodos de uma classe.
Verdadeiro
Falso
O encapsulamento permite que atributos e métodos fiquem ocultos de quem os utiliza, promovendo modularidade e segurança.
Verdadeiro
Falso
Um atributo de instância pertence a todos os objetos de uma classe, ou seja, qualquer modificação em um objeto afeta os outros.
Verdadeiro
Falso
Métodos estáticos só podem acessar atributos e métodos que também sejam estáticos.
Verdadeiro
Falso
A palavra-chave this em C# refere-se ao objeto atual da classe.
Verdadeiro
Falso
O método Main em C# pode ser chamado diretamente sem a necessidade de criar uma instância da classe que o contém.
Verdadeiro
Falso
Uma classe declarada como static pode ser instanciada e herdada por outras classes.
Verdadeiro
Falso
O Garbage Collector do .NET Framework é responsável por liberar objetos não mais referenciados na memória automaticamente.
Verdadeiro
Falso
Construtores em C# são métodos especiais que possuem o mesmo nome da classe e têm a função de inicializar objetos.
Verdadeiro
Falso
Em C#, uma classe pode ter múltiplos destrutores, desde que tenham assinaturas diferentes.
Verdadeiro
Falso
Métodos get e set são usados para manipular atributos privados, promovendo o encapsulamento na programação orientada a objetos.
Verdadeiro
Falso
Na dependência, um objeto pode usar outro sem que haja um vínculo estrutural forte.
Verdadeiro
Falso
Na composição, um objeto pode continuar existindo mesmo que seu 'todo' seja destruído.
Verdadeiro
Falso
A associação permite que um objeto contenha outro como atributo.
Verdadeiro
Falso
Em UML, a agregação é representada por um losango preenchido.
Verdadeiro
Falso
A composição pode ser vista como um caso especial de agregação, mas com posse exclusiva.
Verdadeiro
Falso
Um sistema bancário que mantém uma lista de clientes dentro da classe Banco é um exemplo de agregação.
Verdadeiro
Falso
Qual é o principal benefício do encapsulamento em programação orientada a objetos?
Aumentar o desempenho do programa.
Tornar os atributos acessíveis diretamente por qualquer classe.
Melhorar a segurança e modularidade do código.
Permitir que os métodos estáticos sejam acessíveis sem instância.
Qual dos seguintes modificadores de acesso permite que um atributo seja acessado apenas dentro da classe que o declarou?
public
private
protected
internal
O que acontece se uma variável for declarada dentro de um bloco {} e tentarmos acessá-la fora desse bloco?
Ela pode ser acessada normalmente.
O compilador exibe um erro informando que a variável não existe.
O valor da variável será substituído pelo valor padrão do seu tipo.
O código continua executando normalmente, mas a variável recebe null.
Qual palavra-chave é usada para indicar que um atributo pertence a uma classe e não a um objeto específico?
static
instance
shared
global
Um método estático pode acessar diretamente quais tipos de membros da classe?
Apenas atributos e métodos não estáticos.
Apenas atributos e métodos estáticos.
Apenas métodos, mas não atributos.
Qualquer membro da classe, independentemente do escopo.
O que acontece quando um objeto é desalocado da memória em C#?
Ele é automaticamente destruído pelo Garbage Collector.
O programador precisa chamar explicitamente o destrutor da classe.
Ele continua existindo na memória até o fim da execução do programa.
Ele é destruído imediatamente após a execução de seu último método.
Qual das seguintes opções NÃO é um tipo de escopo de variável em C#?
Escopo de parâmetro
Escopo de instância
Escopo de afinidade
Escopo de namespace
Em relação ao escopo de atributos de classe (static), qual das afirmações é verdadeira?
Cada objeto da classe tem uma cópia independente dos atributos estáticos.
Os atributos estáticos são compartilhados entre todas as instâncias da classe.
Os atributos estáticos são inicializados com valores aleatórios.
Um atributo static pode ser acessado apenas dentro da classe onde foi declarado.
Qual é a principal característica de um método construtor?
Possui o mesmo nome da classe e inicializa os atributos do objeto.
Pode ter qualquer nome e é responsável por destruir objetos.
Sempre retorna um valor do tipo void.
Só pode ser chamado uma única vez na execução do programa.
O que acontece se uma classe for declarada como static?
Ela pode ser instanciada, mas não pode ser herdada.
Ela não pode ser instanciada nem herdada.
Ela pode ser herdada, mas não pode ser instanciada.
Ela funciona como qualquer outra classe comum.
O que caracteriza a sobrecarga de construtores em C#?
Múltiplos construtores com nomes diferentes na mesma classe.
Construtores que possuem a mesma assinatura.
Construtores com o mesmo nome da classe, mas assinaturas diferentes.
Apenas um único construtor pode existir em uma classe.
Qual dos seguintes exemplos mostra a sintaxe correta de um destrutor em C#?
~ClasseNome { // Código }
void ~ClasseNome() { // Código }
public ~ClasseNome() { // Código }
delete ClasseNome { // Código }
Como podemos garantir que um atributo private seja acessado de forma segura?
Utilizando métodos get e set.
Alterando o modificador para public.
Criando uma variável global que armazene os valores do atributo.
Usando diretamente this.atributo fora da classe.
Se um método static tentar acessar um atributo não estático diretamente, o que acontece?
O código compila sem erros.
O compilador gera um erro, pois métodos estáticos só podem acessar membros estáticos.
O código entra em um loop infinito.
O método converte automaticamente o atributo para estático.
Qual é a principal diferença entre um atributo de instância e um atributo estático?
O atributo de instância pertence à classe, enquanto o estático pertence ao objeto.
O atributo estático é compartilhado por todas as instâncias da classe.
O atributo de instância pode ser acessado sem instanciar um objeto.
Ambos têm comportamento idêntico, mas o estático ocupa menos memória.
Qual palavra-chave permite que uma classe filha acesse atributos protegidos da classe pai?
private
public
internal
protected
Qual dos seguintes relacionamentos indica que um objeto USA outro objeto?
Associação
Composição
Dependência
Herança
A associação simples pode indicar que um objeto:
Usa outro objeto temporariamente
Pertence a outro objeto exclusivamente
É parte de outro objeto sem poder existir sozinho
Só pode existir se o outro objeto também existir
Qual é a principal diferença entre agregação e composição?
Na agregação, a parte pode existir sem o todo
Na composição, a parte pode existir sem o todo
Ambos são idênticos
Nenhum deles envolve relacionamentos entre classes
O que é representado pelo losango aberto em UML?
Dependência
Associação
Agregação
Composição
Na agregação, o que acontece se o objeto "Todo" for destruído?
O objeto "Parte" também é destruído
O objeto "Parte" continua existindo
A relação entre os objetos é invertida
O sistema lança uma exceção
Em um sistema de biblioteca, qual relacionamento permite que a biblioteca contenha uma coleção de livros sem gerenciar seu tempo de vida?
Dependência
Associação
Agregação
Composição
Se um objeto depende de outro e precisa ser atualizado quando a interface do outro muda, esse relacionamento é de:
Agregação
Associação
Dependência
Composição
O que representa uma multiplicidade "1..*" em um relacionamento UML?
Exatamente um
Nenhum ou muitos
Um ou mais
Apenas múltiplos de um
O que acontece com os objetos dentro de uma classe que implementa composição quando essa classe é destruída?
Os objetos podem continuar existindo
Apenas alguns objetos são removidos
Todos os objetos são destruídos
Não há impacto nos objetos internos
Qual dos seguintes elementos NÃO é uma forma de relacionamento?
Associação
Dependência
Generalização
Polimorfismo
Qual dos relacionamentos a seguir é mais fraco em termos de acoplamento entre classes?
Composição
Associação
Agregação
Dependência
