Questão de Programação — Linguagens de programação — VUNESP 2026
Programação›Linguagens de programação
Código
gp003720
Banca
VUNESP
Órgão
UNESP
Ano
2026
Cargo
V - - Analista de Informática I - Área de Atuação: Desenvolvimento de Sistemas - Edital nº 350
A linguagem C# é orientada a objetos, e, nela, as classespodem herdar atributos e métodos de outras classes. Para que se impeça que uma classe seja herdada poroutras classes, é necessário, em sua declaração, utilizaro modificador
Aabstract.
Bfinal.
Cprivate.
Dsealed.
Evoid.
Revelar gabarito e comentário▾
GabaritoD — sealed.
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”.
Modificadores de classe em C#: impedindo a herança
Gabarito: letra D. Em C#, o modificador que impede que uma classe seja herdada por outras é o sealed — classes seladas não podem ser usadas como classe base. Esse é um conceito específico da linguagem C#, que difere de outras linguagens como Java, onde o equivalente é a palavra-chave final.
O enunciado aborda um dos pilares da programação orientada a objetos: a herança. Em C#, por padrão, qualquer classe pode ser herdada, a menos que seja explicitamente marcada com o modificador sealed. Quando uma classe é declarada como sealed, ela não pode ser estendida, ou seja, nenhuma outra classe pode herdar seus membros. Isso é útil para evitar que uma classe seja modificada ou especializada de maneiras não previstas pelo desenvolvedor, garantindo a integridade do comportamento definido.
A palavra-chave sealed também pode ser aplicada a métodos e propriedades, mas nesse contexto ela tem um significado ligeiramente diferente: impede que um método virtual seja sobrescrito em classes derivadas. No caso de classes, o efeito é o bloqueio total da herança.
É importante distinguir sealed de outros modificadores que podem parecer semelhantes, mas têm propósitos diferentes. O modificador abstract, por exemplo, faz o oposto: uma classe abstrata é criada especificamente para ser herdada, não podendo ser instanciada diretamente. Já o modificador private controla a visibilidade dos membros dentro da própria classe, não tendo relação com a herança de classes. A palavra final não existe em C# — ela é usada em Java com a mesma finalidade de sealed. Por fim, void é um tipo de retorno que indica ausência de valor, não um modificador de classe.
A pegadinha desta questão está na familiaridade que muitos programadores têm com Java, onde a palavra-chave final é usada para impedir herança. Em C#, o conceito existe, mas com um nome diferente: sealed. A banca explora exatamente essa confusão entre linguagens.
Guarde a correspondência entre as linguagens: em Java, usa-se final para classes que não podem ser herdadas; em C#, usa-se sealed. Essa é a fronteira que separa as alternativas.
Modificadores de classe em C#: sealed (impede herança, também em métodos/propriedades (impede override)); abstract (existe para ser herdada, não pode ser instanciada); private (controle de visibilidade de membros, não impede herança); final (não existe em C# (é Java)); void (tipo de retorno (sem valor), não é modificador de classe)
Alternativa A — ❌ Incorreta
O modificador abstract é usado para declarar classes que não podem ser instanciadas, mas que existem para serem herdadas. Uma classe abstrata pode conter métodos abstratos (sem implementação) que as classes derivadas devem implementar. Portanto, em vez de impedir a herança, o abstract a incentiva.
Alternativa B — ❌ Incorreta
A palavra-chave finalnão existe na linguagem C#. Ela é usada em Java com a finalidade de impedir herança de classes, mas em C# o modificador equivalente é sealed. O candidato que conhece Java pode ser induzido ao erro por essa alternativa.
Alternativa C — ❌ Incorreta
O modificador private é um modificador de acesso que controla a visibilidade de membros (atributos, métodos, propriedades) dentro da própria classe. Ele não tem relação com a capacidade de uma classe ser herdada. Uma classe pode ser private apenas se for uma classe aninhada, mas isso não impede que outras classes a herdem.
Alternativa D — ✅ Correta ⟵ GABARITO
O modificador sealed é exatamente o que o enunciado pede. Quando uma classe é declarada como sealed, ela não pode ser herdada por nenhuma outra classe. Isso é uma característica fundamental da linguagem C#, usada para impedir a extensão de classes que não devem ser modificadas.
Alternativa E — ❌ Incorreta
void é um tipo de retorno que indica que um método não retorna nenhum valor. Ele não é um modificador de classe e não tem qualquer relação com herança. Usar void na declaração de uma classe resultaria em erro de sintaxe.
Gabarito: letra D — o modificador sealed impede que uma classe seja herdada em C#.