Durante o projeto de um sistema, utilizando linguagem orient...
I. Uma classe define seus atributos como privados e disponibiliza apenas métodos públicos para sua leitura e alteração, permitindo a realização de validações antes de qualquer modificação dos dados.
II. Uma classe base é estendida por diversas subclasses que compartilham comportamento comum, mas especializam determinadas operações conforme suas regras específicas.
III. Um mesmo método, definido na classe base, é reimplementado nas subclasses, de modo que sua execução produza comportamentos distintos conforme o tipo concreto do objeto em tempo de execução.
Com base nos conceitos fundamentais da programação orientada a objetos, assinale a opção que classifica corretamente as práticas descritas.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B
Fundamento decisivo: A decisão dependia de associar cada descrição do enunciado ao conceito técnico correto: I a encapsulamento, II a herança e III a sobrescrita, combinação que só ocorre na letra B.
- Se o enunciado fala em atributos privados, acesso por métodos e validação de alteração, o conceito decisivo é encapsulamento.
- Se aparece classe base sendo estendida por subclasses, a classificação é herança, não composição.
- Se um método herdado é reimplementado na subclasse, o nome técnico é sobrescrita; sobrecarga só existe quando há assinaturas diferentes.
- Quando houver efeito diferente conforme o tipo concreto, verifique se a banca está cobrando o efeito geral (polimorfismo) ou o mecanismo descrito no texto (como sobrescrita).
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A análise das práticas descritas leva ao seguinte raciocínio:
- I. Definir atributos como privados e disponibilizar métodos públicos para acesso e alteração, com possibilidade de validação → isso é encapsulamento, pois protege os dados internos da classe e controla como eles são manipulados.
- II. Uma classe base estendida por subclasses que compartilham comportamento comum, mas especializam operações → isso é herança, pois as subclasses herdam características da classe base.
- III. Um mesmo método da classe base é reimplementado nas subclasses, produzindo comportamentos distintos em tempo de execução → isso é polimorfismo, mais especificamente por meio da sobrescrita de métodos.
Portanto, a alternativa correta é:
B – I: encapsulamento; II: herança; III: sobrescrita.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo