O uso de programação orientada a objetos (POO) permitiu que a reutilização de código se tornasse algo praticamente comum em desenvolvimento de software, servindo como base para novos conceitos, como os serviços. Selecione a alternativa que mostra por meio de qual implementação o encapsulamento dos tipos de dados e suas funções é alcançado.
- A)Objetos
Objetos são as instâncias criadas a partir da classe, mas quem define o encapsulamento dos dados e funções é a própria estrutura da classe.
- B)Atributos
Atributos representam os dados do objeto, porém sozinhos não organizam nem encapsulam comportamento.
- C)Classes
Correta, porque a classe é o mecanismo que reúne atributos e métodos e permite o encapsulamento em POO.
- D)Métodos
Métodos representam as ações/comportamentos, mas não fazem o encapsulamento completo dos dados e funções.
- E)Filas
Filas são uma estrutura de dados, não o mecanismo de POO usado para encapsular dados e comportamento.
Gabarito: C
Na programação orientada a objetos, a ideia central é juntar dados e comportamentos em uma unidade coerente, como se fosse uma caixinha bem organizada. Em vez de deixar variáveis e funções espalhadas pelo sistema, voce agrupa tudo de forma que o código fique mais fácil de usar, manter e reutilizar. Isso ajuda muito na construção de softwares maiores, porque cada parte passa a ter uma responsabilidade mais clara. Esse agrupamento acontece por meio das classes. A classe funciona como o molde ou a definição do tipo de objeto: ela descreve quais atributos ele terá e quais métodos ele poderá executar. Depois, a partir dessa classe, você cria objetos concretos, que são as instâncias usadas no programa. Por isso, o gabarito é a alternativa C. É a classe que permite estruturar o encapsulamento dos tipos de dados e de suas funções, reunindo atributos e métodos em um mesmo lugar. Em termos de doutrina de POO, isso é exatamente o que sustenta os pilares de encapsulamento, herança e polimorfismo: primeiro você organiza bem a classe, depois o restante flui. Se voce pensar em um exemplo simples, como uma classe "Carro", ela pode ter atributos como cor e modelo, e métodos como ligar e frear. O segredo está justamente em esconder a complexidade interna e oferecer uma interface limpa para uso. É esse desenho que a questão está cobrando.