Na orientação a objetos, o conceito que garante que nenhum a...

Próximas questões
Com base no mesmo assunto
Q307878 Engenharia de Software
Na orientação a objetos, o conceito que garante que nenhum acesso direto é concedido aos dados é atribuído por meio do(a):
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: E - Encapsulamento.

O tema da questão aborda os pilares fundamentais da programação orientada a objetos (POO), que são conceitos essenciais para o design e desenvolvimento de software com esta metodologia. Para resolver a questão, é necessário compreender o significado dos termos listados nas alternativas e como eles se aplicam na prática da engenharia de software.

Em termos de encapsulamento, que é a resposta correta, estamos falando da capacidade de ocultar os detalhes internos do funcionamento de um objeto e expor apenas as funcionalidades necessárias ao mundo externo. Isso é feito através da definição de métodos públicos que são a interface através da qual a interação com o objeto é possível, enquanto que os dados (atributos) são mantidos privados ou protegidos, impedindo, assim, o acesso direto a eles. O encapsulamento assegura a integridade dos dados, permitindo o controle sobre quem e como eles podem ser manipulados.

Isso é fundamental na engenharia de software pois proporciona a modularidade e a manutenibilidade do código, além de reduzir a complexidade e aumentar a reusabilidade dos componentes do software. Com o encapsulamento, é possível modificar a implementação interna de um objeto sem afetar outros componentes que dependem dele, desde que a sua interface pública se mantenha consistente.

Os demais conceitos citados - polimorfismo, herança, agregação e abstração - também são importantes na POO mas não estão relacionados diretamente com a proteção do acesso aos dados internos de um objeto.

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

Polimorfismo denota uma situação na qual um objeto pode se comportar de maneiras diferentes ao receber uma mensagem, dependendo do seu tipo de criação.

Herança é um mecanismo da OO que permite criar novas classes a partir de classes já existentes, aproveitando-se das características existentes na
classe a ser extendida.

Agregação é um mecanismo de reaproveitamento (reutilização) de classes utilizado pela POO para aumentar a produtividade e a qualidade no desenvolvimento de software.

Abstração é a habilidade e a capacidade de se modelar conceitos, entidades, elementos, problemas e características do mundo real, de um domínio do problema em questão, levando-se em conta apenas os detalhes importantes para a resolução do problema e desprezando coisas que não têm importância no contexto.

Encapsulamento é o mecanismo utilizado para disponibilizar métodos que operam sobre os dados e que protegem o acesso direto indevido aos atributos de uma instância fora da classe onde estes foram declarados. 

Fonte: http://www.softechnetwork.com.br/java/CursoOO.pdf

Encapsulamento: é o ato de esconder os dados e implementações de uma classe atrás de métodos públicos. O Código encapsulado promove reutilizaçao e sustentabilidade do código. 


Mais informações indico o link abaixo:

http://books.google.com.br/books?id=LZzrKci2msIC&printsec=frontcover&hl=pt-BR#v=onepage&q=encapsulamento&f=false


Exemplo de encapsulamento:

class Conta {
//Declaração dos Atributos
private double Saldo=0;
private String Nome;

//Declaração dos Metodos
public void deposita(double Valor){
this.Saldo = this.Saldo + Valor + (Valor * 0.10);
}
public double getSaldo(){
return this.Saldo;
}

public void setNome(String N){
this.Nome = N;
}

public String getNome(){
return this.Nome;
}
}
Observe que nossos atributos  estão como private, desta forma protegendo o acesso direto aos atributos.

Encapsulamento é a caracteristica de ocultar metodos e atributos para restringir seu acesso em classes derivadas. Geralmente implica em metodos publicos getters & setters para acessa-los. 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo