encapsulation java
Aprenda sobre encapsulamento em Java com exemplos, por que precisamos, métodos getter e setter associados:
Neste tutorial, discutiremos outro conceito OOP - “Encapsulamento”. OOP tem quatro pilares, a saber, abstração, encapsulamento, polimorfismo e herança.
Enquanto a abstração é usada para expor apenas os detalhes relevantes ao usuário final, o encapsulamento lida principalmente com a segurança dos dados. Ao garantir a segurança dos dados, o encapsulamento protege os membros dos dados de acesso indesejado, especificando modificadores de acesso e também agrupa os dados em uma única unidade.
=> Confira o guia de treinamento Java perfeito aqui.
Então, como podemos definir encapsulamento em Java?
Definição de encapsulamento
“O encapsulamento em Java pode ser definido como um mecanismo pelo qual os dados e os métodos que funcionam nesses dados são agrupados para formar uma única unidade.”
ferramentas de teste de serviço da web de código aberto
O que você aprenderá:
O que é encapsulamento em Java
Usando o encapsulamento, também podemos ocultar os membros de dados da classe (variáveis) de outras classes. Essas variáveis de membro de dados podem ser acessadas indiretamente usando métodos da classe na qual são declaradas. Os métodos, por sua vez, são acessados usando o objeto dessa classe.
Portanto, o que concluímos da definição acima é que ocultamos as variáveis de membro de dados dentro de uma classe e também especificamos os modificadores de acesso de forma que não sejam acessíveis às outras classes.
Portanto, o encapsulamento também é uma espécie de “ocultação de dados”, embora mais tarde no tutorial veremos que o encapsulamento não é o mesmo que ocultar dados.

A figura acima representa uma classe que é uma unidade de encapsulamento que agrupa os dados e métodos que operam nesses dados em uma única unidade.
Como o encapsulamento lida principalmente com dados, é alternativamente chamado de “encapsulamento de dados”.
Podemos visualizar o encapsulamento como uma cápsula médica. Como todos sabemos, o medicamento é colocado dentro de uma cápsula médica. Da mesma forma, dados e métodos são incluídos em uma única unidade de encapsulamento.
Assim, o encapsulamento atua como um escudo protetor em torno dos dados e evita que os dados sejam acessados não autorizados pelo mundo externo. Em outras palavras, ele protege os dados confidenciais de nosso aplicativo.
Em Java, existem duas etapas para implementar o encapsulamento. A seguir estão as etapas:
- Use o modificador de acesso ‘privado’ para declarar as variáveis de membro da classe.
- Para acessar essas variáveis de membro privadas e alterar seus valores, temos que fornecer os métodos getter e setter públicos, respectivamente.
Vamos agora implementar o exemplo de encapsulamento em Java.
Exemplo de encapsulamento Java
//Student_Id and name bundled in a unit 'Student' => encapsulation class Student { private int Student_Id; private String name; //getters, setters for Student_Id and name fields. public int getId() { return Student_Id; } public void setId(int s_id) { this.Student_Id = s_id; } public String getname() { return name; } public void setname(String s_name) { this.name = s_name; } } class Main{ public static void main(String() args) { //create an object of Student class Student s=new Student(); //set fields values using setter methods s.setId (27); s.setname('Tom Lee'); //print values using getter methods System.out.println('Student Data:' + '
Student ID:' + s.getId() + ' Student Name:' + s.getname()); } } Resultado:

No programa acima, declaramos uma classe que é a unidade de encapsulamento. Esta classe Student agrupou os dados (Student_Id e nome) e os métodos para ler e definir valores para esses membros em uma única unidade.
Observe os modificadores de acesso associados aos campos do membro. Ambos os campos de membros são particulares, de forma que não podem ser acessados fora da classe Aluno.
Fornecemos getters (getId e getname) para ler os valores desses campos e métodos setter (setId e setname) para definir valores para esses métodos. Este é o único acesso que eles têm e que também deve ser feito usando o objeto de classe Aluno.
Métodos getter e setter
Para implementar o encapsulamento em Java, tornamos as variáveis de membro de dados da classe como privadas. Agora, essas variáveis privadas não são acessíveis a nada fora da classe, incluindo o objeto de classe.
Isso significa que se temos uma classe ABC da seguinte maneira.
classe ABC {
idade privada;
}
Vamos criar um objeto da classe ABC da seguinte maneira:
por que meu gateway padrão continua offline
ABC abc = novo ABC ();
abc.age = 21; // erro do compilador
Portanto, no código acima, acessar a variável privada usando o objeto de classe resultará em um erro do compilador.
Para acessar as variáveis privadas e ler seus valores e definir alguns novos valores nelas, precisamos de alguma maneira de fazer isso. Portanto, o Java fornece uma maneira de acessar variáveis privadas usando os métodos getter e setter.
Getter e Setters são métodos públicos que podemos usar para criar, modificar, excluir ou simplesmente visualizar os valores das variáveis privadas.
O programa abaixo é um exemplo dos métodos Getter e Setter.
//Account class - private data members bundled with getters and setters class Account { //private data members private long acc_no; private String name,email; private float amount; //public getter and setter methods for each data member public long getAcc_no() { return acc_no; } public void setAcc_no(long acc_no) { this.acc_no = acc_no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public float getAmount() { return amount; } public void setAmount(float amount) { this.amount = amount; } } public class Main { public static void main(String() args) { //create instance of Account class Account myAcc=new Account(); //set values for data members through setter methods myAcc.setAcc_no(775492842L); myAcc.setName('SoftwareTestingHelp.com'); myAcc.setEmail('sth_account@sth.com'); myAcc.setAmount(25000f); //read data member values through getter methods System.out.println('Account No:' + myAcc.getAcc_no()+' '+'Account Name:' + myAcc.getName()+'
'+'Account holder email:' + myAcc.getEmail()+'
' + 'Amount in Account:' + myAcc.getAmount()); } } Resultado:

O programa acima possui uma classe Account e quatro variáveis privadas relacionadas à conta. Como todos os membros de dados são privados, fornecemos os métodos getter e setter para cada uma dessas variáveis.
é a chave de segurança igual à senha
No método principal, lemos e configuramos valores para essas variáveis privadas usando os métodos getter e setter públicos acessados por meio do objeto da classe Account.
Ocultação de dados em Java
Freqüentemente, usamos encapsulamento e ocultação de dados de forma intercambiável. Mas ambos não são iguais. O encapsulamento Java trata do agrupamento de dados relacionados em uma única unidade para garantir melhor gerenciamento e segurança dos dados.
A ocultação de dados, por outro lado, restringe o acesso do membro de dados ocultando os detalhes de implementação. Embora o encapsulamento não seja exatamente um ocultamento de dados, ele nos fornece a maneira de ocultá-los. A ocultação de dados é obtida usando modificadores de acesso.
Java fornece quatro modificadores de acesso.
- público: Acessível a todos.
- privado: Acessível apenas dentro da classe.
- protegido: Acessível ao pacote que o contém e às subclasses.
- predefinição: Acessível dentro do pacote.
O encapsulamento agrupa os dados em uma única unidade, portanto, de certa forma, ele oculta os dados. Além disso, torna os dados privados e, portanto, inacessíveis para o mundo exterior. Para tornar os dados privados, usamos o modificador de acesso privado, que é um conceito de ocultação de dados.
Ao mesmo tempo, apenas os detalhes relevantes são fornecidos ao usuário final, sem expor os detalhes de implementação, que é uma definição de abstração. Assim, podemos ver o encapsulamento como uma combinação de abstração e ocultação de dados.
Por que precisamos de encapsulamento
Existem vários motivos pelos quais o encapsulamento é essencial em Java:
- O encapsulamento nos permite modificar o código ou parte A do código sem ter que alterar nenhuma outra função ou código.
- O encapsulamento controla como acessamos os dados.
- Podemos modificar o código com base nos requisitos usando encapsulamento.
- O encapsulamento torna nossos aplicativos mais simples.
perguntas frequentes
P # 1) Por que o encapsulamento é usado em Java?
Responda: O encapsulamento em Java é muito útil para ocultar os dados. Ou seja, decidir sobre o acesso concedido aos dados sobre quem pode e quem não pode.
Q # 2) O que é encapsulamento em OOP?
Responda: O encapsulamento é um dos pilares importantes da linguagem de programação orientada a objetos e lida com o agrupamento de dados e métodos que operam nesses dados em uma única unidade. Por exemplo, uma classe em Java é uma estrutura encapsulada. O encapsulamento também lida com decisões relacionadas ao fornecimento de acesso aos dados.
P # 3) Qual é a vantagem do encapsulamento em Java?
Responda: A principal vantagem do encapsulamento em Java é a ocultação de dados. Usando encapsulamento, podemos permitir que o programador decida sobre o acesso aos dados e métodos que operam nesses dados. Por exemplo, se quisermos que um dado específico fique inacessível para qualquer pessoa fora da classe, tornamos esses dados privados.
Q # 4) O que é o processo de encapsulamento?
Responda: O encapsulamento é um processo de pegar dados de um formato ou protocolo (em termos de rede) e traduzi-los ou reformatá-los em outro formato ou protocolo para que os dados sejam acessíveis através dos aplicativos ou rede e, ao mesmo tempo, protegidos.
P # 5) Qual é a última etapa no encapsulamento de dados?
Responda: A última etapa do encapsulamento é transformar as informações do usuário em dados equivalentes. Em seguida, esses dados são transformados em segmentos que são posteriormente transformados em pacotes de dados. Os pacotes de dados são colocados em um quadro lógico que pode ser transferido de e para o ambiente de software
Conclusão
Isso conclui nosso tutorial sobre encapsulamento em Java. O encapsulamento é uma técnica de agrupamento de variáveis de membro e os métodos que operam nesses membros de dados em uma única unidade. Uma classe em Java é um exemplo clássico de encapsulamento, pois envolve os dados e métodos em uma única unidade.
Java atinge a implementação de encapsulamento tornando todos os membros de dados privados e, em seguida, fornecendo métodos getter e setter que são públicos para que possamos ler os valores das variáveis privadas e definir novos valores para essas variáveis.
=> Visite aqui a série exclusiva de tutoriais de treinamento em Java.
Leitura recomendada
- Tutorial de JAVA para iniciantes: mais de 100 tutoriais práticos em vídeo Java
- TreeMap em Java - Tutorial com exemplos de TreeMap em Java
- Java Double - Tutorial com exemplos de programação
- Tutorial de Java Float com exemplos de programação
- Java Reverse String: Tutorial com exemplos de programação
- Java Enum: Tutorial de enumeração Java com exemplos
- Java Integer e classe Java BigInteger com exemplos
- Java String contains () Tutorial de método com exemplos