SlideShare uma empresa Scribd logo
1 de 10
ETE Santa Cruz
Saulo Rodrigues
Profª Valdinéia (Entrega: 13/04/2015)
Rio de Janeiro, RJ
Encapsulamento, GET E SET, definições e
exemplo de uso.
Sumário

Encapsulamento:
− Definição;
− Uso;
− Vantagem.
 GET E SET
− Métodos Acessores;
− Definições;
− Uso.
 Referência.
Encapsulamento
Na Orientação a objetos, o encapsulamento significa separar o programa em partes, o
mais isoladas possível. Dessa forma, tem-se por objetivo tornar o software mais
flexível, fácil de modificar e de criar novas implementações.
No encapsulamento de dados, o que fazemos é impedir o acesso direto aos atributos da
classe, criando métodos tanto para obter os valores dos atributos, quanto para
atribuir valores a eles. Os métodos que realizam tais tarefas são comumente
chamados de setters e getters (dos verbos set e get, em inglês).
Observe a classe a seguir (Cachorro), para entender a utilização do Encapsulamento.
Nesta classe é criado um método para cada modificação necessária de atributos,
desta forma podemos evoluir livremente a aplicação sem que a alteração de uma
função afete o software como um todo:
Vantagem
Uma das grandes vantagens do uso do encapsulamento de dados é controlar o acesso
aos atributos da classe, evitando comportamentos inesperados. Por exemplo, se
determinado atributo não pode ser negativo, você pode condicionar o seu método de
atribuição (set) a não deixar valores negativos (não atribuindo nada ou atribuindo alguma
valor válido padrão). Além disso, caso determinado valor deva ser privado e não deve
possuir acesso externo à classe, basta não definir seus métodos de acesso.
Uso
// Arquivo Cachorro.java
package canil.exemplo;
public class Cachorro {
private int tamanho;
private String raca;
private String nome;
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
public int getTamanho() {
return tamanho;
}
public void setRaca(String raca) {
this.raca = raca;
}
public String getRaca() {
return raca;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
public void latir() {
System.out.println("Ruff! Ruff!");
}
}
Métodos Acessores
Get e Set - Métodos Acessores
Como visto anteriormente, o encapsulamento "protege" os atributos ou métodos dentro
de uma classe, portanto devemos prover meios para acessar tais membros quando eles
são particulares, ou seja, quando possuem o modificador private.
O que torna isso possível é a criação de métodos.
Em programação orientada a objetos, esses métodos são chamados de métodos
acessores ou getters e setters, pois eles provêm acesso aos atributos da classe, e
geralmente, se iniciam com get ou set, daí a origem de seu nome.
Na verdade, não há nada de diferente entre os métodos comuns e os métodos
acessores. A única importância está no fato da orientação a objeto. Pois, sempre que
formos acessar um membro em Java usaremos get ou set.
GET e SET

GET
Nomeamos um método acessor com get
toda vez que este método for verificar
algum campo ou atributo de uma
classe.
Como este método irá verificar um valor,
ele sempre terá um retorno como
String, int, float, etc. Mas não terá
nenhum argumento.
SET
Nomeamos um método acessor com set
toda vez que este método for modificar
algum campo ou atributo de uma
classe, ou seja, se não criarmos um
método acessor set para algum
atributo, isso quer dizer que este
atributo não deve ser modificado.
Portanto, como o valor de um atributo da
classe será modificado, não é
necessário que este método retorne
nenhum valor, por isso, os métodos
setters são void. Porém,
obrigatoriamente, eles tem que receber
um argumento que será o novo valor
do campo.
Uso

Considere a classe:
public class TV {
private int tamanho;
private int canal;
private int volume;
private boolean ligada;
public TV(int tamanho, int canal, int volume, boolean ligada) {
this.tamanho = tamanho;
this.canal = canal;
this.volume = volume;
this.ligada = ligada;
}
São exemplos de uso
public int getTamanho() {
return tamanho;
}
public int getCanal() {
return canal;
}
public int getVolume() {
return volume;
}
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
public void setCanal(int canal) {
this.canal = canal;
}
public void setVolume(int volume) {
this.volume = volume;
}
Referências

Get e Set
− http://www.tiexpert.net/programacao/java/get-set.php
− http://www.devmedia.com.br/criando-metodos-get-e-set-em-java/24623

Encapsulamento
− http://pt.wikipedia.org/wiki/Encapsulamento
− http://www.rafaeltoledo.net/encapsulamento-de-dados/
Rio de Janeiro, 12/04/2015
Software de apresentação – LibreOffie Impress

Mais conteúdo relacionado

Mais procurados

Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseRegis Magalhães
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAAparicio Junior
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoFelipe J. R. Vieira
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Antonio Alves
 
04 modelagem classes
04 modelagem classes04 modelagem classes
04 modelagem classesjosejunior89
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04Antonio Alves
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaWanderlei Silva do Carmo
 
Lsp — the liskov substitution principle
Lsp — the liskov substitution principleLsp — the liskov substitution principle
Lsp — the liskov substitution principleeliasor
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoEvandro Júnior
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java Evandro Júnior
 

Mais procurados (17)

Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
Aula5
Aula5Aula5
Aula5
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de Acesso
 
Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03Curso de Java - Antonio Alves - Aula 03
Curso de Java - Antonio Alves - Aula 03
 
04 modelagem classes
04 modelagem classes04 modelagem classes
04 modelagem classes
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
Curso de java - Antonio Alves - aula 04
Curso de java - Antonio Alves -  aula 04Curso de java - Antonio Alves -  aula 04
Curso de java - Antonio Alves - aula 04
 
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Encapsulamento em oo
Encapsulamento em ooEncapsulamento em oo
Encapsulamento em oo
 
Lsp — the liskov substitution principle
Lsp — the liskov substitution principleLsp — the liskov substitution principle
Lsp — the liskov substitution principle
 
Programação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e ImplementaçãoProgramação Orientada á Objeto - Paradigmas e Implementação
Programação Orientada á Objeto - Paradigmas e Implementação
 
Herança e polimorfismo em Java
Herança e polimorfismo em Java Herança e polimorfismo em Java
Herança e polimorfismo em Java
 

Semelhante a Lp3

Resolucao exercicios
Resolucao exerciciosResolucao exercicios
Resolucao exerciciosVis Rodrigues
 
Java: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoArthur Emanuel
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Natanael Fonseca
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classesCarlos Melo
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane FidelixCris Fidelix
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3michellobo
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Javadanrleywillian1
 
Programação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxProgramação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxBernaldinoFernandes
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003elliando dias
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 

Semelhante a Lp3 (20)

Resolucao exercicios
Resolucao exerciciosResolucao exercicios
Resolucao exercicios
 
Java: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acessoJava: Encapsulamento e modificadores de acesso
Java: Encapsulamento e modificadores de acesso
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Linguagem de programação implementação de classes
Linguagem de programação   implementação de classesLinguagem de programação   implementação de classes
Linguagem de programação implementação de classes
 
Curso de PHP - Objetos
Curso de PHP - ObjetosCurso de PHP - Objetos
Curso de PHP - Objetos
 
Aula 3 - Java Prof.ª Cristiane Fidelix
Aula 3 -  Java Prof.ª Cristiane FidelixAula 3 -  Java Prof.ª Cristiane Fidelix
Aula 3 - Java Prof.ª Cristiane Fidelix
 
Aula4
Aula4Aula4
Aula4
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
 
10 heranca
10   heranca10   heranca
10 heranca
 
Java generics-basics
Java generics-basicsJava generics-basics
Java generics-basics
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
 
Final e aastract
Final e aastractFinal e aastract
Final e aastract
 
SCJA
SCJASCJA
SCJA
 
Java20141219
Java20141219Java20141219
Java20141219
 
Classes Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções JavaClasses Anônimas, Internas e Coleções Java
Classes Anônimas, Internas e Coleções Java
 
Programação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptxProgramação Orientado a Objetos - Sessao 4.pptx
Programação Orientado a Objetos - Sessao 4.pptx
 
introdução a linguagem java-2003
introdução a linguagem java-2003introdução a linguagem java-2003
introdução a linguagem java-2003
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 

Lp3

  • 1. ETE Santa Cruz Saulo Rodrigues Profª Valdinéia (Entrega: 13/04/2015) Rio de Janeiro, RJ Encapsulamento, GET E SET, definições e exemplo de uso.
  • 2. Sumário  Encapsulamento: − Definição; − Uso; − Vantagem.  GET E SET − Métodos Acessores; − Definições; − Uso.  Referência.
  • 3. Encapsulamento Na Orientação a objetos, o encapsulamento significa separar o programa em partes, o mais isoladas possível. Dessa forma, tem-se por objetivo tornar o software mais flexível, fácil de modificar e de criar novas implementações. No encapsulamento de dados, o que fazemos é impedir o acesso direto aos atributos da classe, criando métodos tanto para obter os valores dos atributos, quanto para atribuir valores a eles. Os métodos que realizam tais tarefas são comumente chamados de setters e getters (dos verbos set e get, em inglês). Observe a classe a seguir (Cachorro), para entender a utilização do Encapsulamento. Nesta classe é criado um método para cada modificação necessária de atributos, desta forma podemos evoluir livremente a aplicação sem que a alteração de uma função afete o software como um todo:
  • 4. Vantagem Uma das grandes vantagens do uso do encapsulamento de dados é controlar o acesso aos atributos da classe, evitando comportamentos inesperados. Por exemplo, se determinado atributo não pode ser negativo, você pode condicionar o seu método de atribuição (set) a não deixar valores negativos (não atribuindo nada ou atribuindo alguma valor válido padrão). Além disso, caso determinado valor deva ser privado e não deve possuir acesso externo à classe, basta não definir seus métodos de acesso.
  • 5. Uso // Arquivo Cachorro.java package canil.exemplo; public class Cachorro { private int tamanho; private String raca; private String nome; public void setTamanho(int tamanho) { this.tamanho = tamanho; } public int getTamanho() { return tamanho; } public void setRaca(String raca) { this.raca = raca; } public String getRaca() { return raca; } public void setNome(String nome) { this.nome = nome; } public String getNome() { return nome; } public void latir() { System.out.println("Ruff! Ruff!"); } }
  • 6. Métodos Acessores Get e Set - Métodos Acessores Como visto anteriormente, o encapsulamento "protege" os atributos ou métodos dentro de uma classe, portanto devemos prover meios para acessar tais membros quando eles são particulares, ou seja, quando possuem o modificador private. O que torna isso possível é a criação de métodos. Em programação orientada a objetos, esses métodos são chamados de métodos acessores ou getters e setters, pois eles provêm acesso aos atributos da classe, e geralmente, se iniciam com get ou set, daí a origem de seu nome. Na verdade, não há nada de diferente entre os métodos comuns e os métodos acessores. A única importância está no fato da orientação a objeto. Pois, sempre que formos acessar um membro em Java usaremos get ou set.
  • 7. GET e SET  GET Nomeamos um método acessor com get toda vez que este método for verificar algum campo ou atributo de uma classe. Como este método irá verificar um valor, ele sempre terá um retorno como String, int, float, etc. Mas não terá nenhum argumento. SET Nomeamos um método acessor com set toda vez que este método for modificar algum campo ou atributo de uma classe, ou seja, se não criarmos um método acessor set para algum atributo, isso quer dizer que este atributo não deve ser modificado. Portanto, como o valor de um atributo da classe será modificado, não é necessário que este método retorne nenhum valor, por isso, os métodos setters são void. Porém, obrigatoriamente, eles tem que receber um argumento que será o novo valor do campo.
  • 8. Uso  Considere a classe: public class TV { private int tamanho; private int canal; private int volume; private boolean ligada; public TV(int tamanho, int canal, int volume, boolean ligada) { this.tamanho = tamanho; this.canal = canal; this.volume = volume; this.ligada = ligada; }
  • 9. São exemplos de uso public int getTamanho() { return tamanho; } public int getCanal() { return canal; } public int getVolume() { return volume; } public void setTamanho(int tamanho) { this.tamanho = tamanho; } public void setCanal(int canal) { this.canal = canal; } public void setVolume(int volume) { this.volume = volume; }
  • 10. Referências  Get e Set − http://www.tiexpert.net/programacao/java/get-set.php − http://www.devmedia.com.br/criando-metodos-get-e-set-em-java/24623  Encapsulamento − http://pt.wikipedia.org/wiki/Encapsulamento − http://www.rafaeltoledo.net/encapsulamento-de-dados/ Rio de Janeiro, 12/04/2015 Software de apresentação – LibreOffie Impress