SóProvas


ID
943186
Banca
CESPE / CEBRASPE
Órgão
INPI
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

No que se refere à programação orientada a objetos, julgue os itens que se seguem.

Ao se utilizar o encapsulamento, não é necessário saber como ele funciona internamente, apenas como transmite os seus atributos.

Alternativas
Comentários
  • Encapsulamento vem de encapsular, que em programação orientada a objetos significa separar o programa em partes, o mais isoladas possível. A idéia é tornar o software mais flexível, fácil de modificar e de criar novas implementações.

    Para exemplificar, podemos pensar em uma dona de casa (usuário) utilizando um liquidificador (sistema). O usuário não necessita conhecer detalhes do funcionamento interno do sistema para poder utilizá-lo, precisa apenas conhecer a interface, no caso, os botões que controlam o liquidificador.

    Uma grande vantagem do encapsulamento é que toda parte encapsulada pode ser modificada sem que os usuários da classe em questão sejam afetados. No exemplo do liquidificador, um técnico poderia substituir o motor do equipamento por um outro totalmente diferente, sem que a dona de casa seja afetada - afinal, ela continuará somente tendo que pressionar o botão.

    O encapsulamento protege o acesso direto (referência) aos atributos de uma instância fora da classe onde estes foram declarados. Esta proteção consiste em se usar modificadores de acesso mais restritivos sobre os atributos definidos na classe. Depois devem ser criados métodos para manipular de forma indireta os atributos da classe.

    Encapsular atributos também auxilia a garantir que o estado e o comportamento de um objeto se mantenha coeso. Por exemplo, no caso da classe Semaforo poderiamos ter um método de acesso chamado lerCor(), e um modificador chamado proximaCor(). O estado é mantido pois os usuários da classe não podem alterar as cores de um semáforo ao seu bel prazer e, por exemplo, fazer a seguinte troca de cores: vermelho-amarelo-vermelho. É comum usar o padrão get<nomeDoAtributo> para o método que retorna o valor atual do atributo e set<nomeDoAtributo> para o método que modifica o valor de um atributo do objeto, como no exemplo abaixo: setComProtecao e getComProtecao.

  • Achei estranho o uso do termo "transmite". CESPE gosta de usar umas palavras alternativas que confundem.

  • Do jeito que a questão foi formulada, ficou parecendo que o encapsulamento é um objeto e tem atributos. Hehehe.

  • também acho estranho o termo transmitir atributos, pq a ideia de encapsulamento é vc nem saber que aquele objeto tem atributos, apenas como saber como manipular sua interface de comunicação

  • Que questão mal formulada. 

  • Só lembra do PRIVATE, abrir a mente , esquecer programação e pensar em conceito principalmente em CESPE

  • O Correto seria "transmite os seus PARAMETROS" e não atributos, mas o restante está correto.

  • correto - encapsulemnto significa ocultar o que nao for relevante para a manipulação do dado atual. O conceito é parecido com o de um usuario que sabe ligar uma tv sem saber como ela funciona. 

  • Questão mal feita. A ideia do encapsulamento é abstrair dos atributos, de modo que você olhe para um objeto como tendo apenas interface (métodos).