SlideShare une entreprise Scribd logo
1  sur  27
Java: Encapsulamento e
Modificadores de Acesso
Me. Arthur Emanuel de Oliveira Carosia
Como retornar a idade do
cliente utilizando um método?
Como evitar que seja atribuído
uma idade negativa ao cliente?
Como atribuir uma idade ao
cliente usando um método?
 Caso haja a necessidade de se ter acesso
a algum atributo, métodos devem ser
fornecidos para isso
 Métodos que provêem acesso ao valor do
atributo possuem GET no seu prefixo.
 Métodos que modificam valores de atributos
possuem SET no seu prefixo.
Como alterar o retorno do saldo para
que seja levado em consideração o
limite da conta?
Implemente o método depositar
Como evitar que seja depositado valor
negativo na conta?
Crie uma classe Principal que faça uso
da classe Conta e use todos os seus
métodos.
 Os construtores são usados para inicializar
objetos de uma classe, dando aos atributos o
estado inicial que se quer que os mesmos
tenham
 Um construtor:
◦ Tem o mesmo nome da classe
◦ Pode ter um ou mais parâmetros
◦ Sempre é chamado através do comando new
◦ Não retorna valor
◦ Não podem ser explicitamente chamados como um
método da classe
 Public
◦ Uma declaração com o modificador public pode ser acessada de
qualquer lugar e por qualquer entidade que possa visualizar a classe
a que ela pertence.
 Private
◦ Os membros da classe definidos como não podem ser acessados ou
usados por nenhuma outra classe. Esse modificador não se aplica às
classes, somente para seus métodos e atributos. Esses atributos e
métodos também não podem ser visualizados pelas classes
herdadas.
 Protected
◦ O modificador protected torna o membro acessível às classes do
mesmo pacote ou através de herança, seus membros herdados não
são acessíveis a outras classes fora do pacote em que foram
declarados.
 default (padrão):
◦ A classe e/ou seus membros são acessíveis somente por classes do
mesmo pacote, na sua declaração não é definido nenhum tipo de
modificador, sendo este identificado pelo compilador.
 Nomeie a Classe
 Normalmente as classes são públicas
 Insira os atributos da classe
 Normalmente os atributos são privados
 Faça seus respectivos métodos Get e Set para
os atributos que necessitarem
 Crie os construtores da classe
 Implemente os métodos necessários
 Escreva uma classe Circulo, que contenha:
• raio inteiro e centro em inteiros x e y.
• método que retorna a área
• método que retorna a circunferência
 Crie para cada atributo seus métodos get e set
 Crie o construtor sem parâmetro da classe círculo,
inicializando todos os valores como 0.
 Crie um construtor com 3 parâmetros, o raio, x e y.
 Teste a classe em uma classe Principal.
 Modele um funcionário. Ele deve ter o nome
do funcionário, o departamento onde
trabalha, seu salário (double), a data de
entrada no banco (String) e seu RG (String).
 Crie os métodos get e set para cada atributo
e também crie um construtor vazio e outro
que receba todos os atributos de funcionário.
 Teste a classe em uma classe Principal.
 Classe: Pessoa
 Atributos: nome, idade.
 Método: void fazAniversario()
 Implemente os métodos get e set de cada
atributo e também crie seus construtores.
 Teste a classe em uma classe Principal.
 É usado para a criação de uma variável que
poderá ser acessada por todas as instâncias
de objetos desta classe
 Quando seu conteúdo é modificado numa
das instâncias, a modificação ocorre em
todas as demais.
 A linguagem Java permite agrupar classes em
uma coleção chamada pacote
◦ Ao escrever um pacote é preciso colocar o nome do
pacote no topo do arquivo-fonte que declara a
classe
◦ Um pacote reflete uma estrutura de diretórios
◦ Um pacote é declarado usando-se a palavra-chave
package
 Para se usar um pacote criado, usa-se:
import pacote.*
 Defina uma classe para representar um
candidato a uma eleição, com atributos para
armazenar o nome do candidato e o número
de votos, ambos privados. Defina um método
de acesso para cada atributo, um método
para incrementar o número de votos do
candidato e um construtor para a classe que
recebe como argumento o nome do
candidato e inicializa o número de votos com
zero.
 Desenvolva um programa que cria um
candidato com nome de sua escolha. Em
seguida, deve ser lido um nome. Se o nome
lido for o do seu candidato, incrementar o
contador de votos. No final, imprimir o nome
do candidato e o total de votos.
Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de
Mello, Danival Taffarel Calegari and Maurício Schiezaro.
Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp-
servlets-j2ee.pdf.
W3Schools. Disponível em: http://www.w3schools.com/.
Apostila de Java. Caelum. Disponível em:
http://www.caelum.com.br/apostila-java-orientacao-objetos/.
DEITEL, Paul J.; DEITEL, Harvey M. Java - como
programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010.
Referências
Java
Me. Arthur Emanuel de Oliveira Carosia

Contenu connexe

Tendances

Tendances (20)

Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Clases y objetos en java
Clases y objetos en javaClases y objetos en java
Clases y objetos en java
 
Aula 5 encapsulamento, associação, polimorfismo, interfaces
Aula 5   encapsulamento, associação, polimorfismo, interfacesAula 5   encapsulamento, associação, polimorfismo, interfaces
Aula 5 encapsulamento, associação, polimorfismo, interfaces
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Packages,static,this keyword in java
Packages,static,this keyword in javaPackages,static,this keyword in java
Packages,static,this keyword in java
 

En vedette

1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
socrahn
 

En vedette (10)

Php do Jeito Certo
Php do Jeito CertoPhp do Jeito Certo
Php do Jeito Certo
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Aula UML e Java
Aula UML e JavaAula UML e Java
Aula UML e Java
 
Data models
Data modelsData models
Data models
 
Dbms models
Dbms modelsDbms models
Dbms models
 
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...Informática Básica parte 1 - Introdução à informática e windows 7 -  Inclusão...
Informática Básica parte 1 - Introdução à informática e windows 7 - Inclusão...
 
Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)Introdução à Informática (Módulo 1)
Introdução à Informática (Módulo 1)
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 

Similaire à Java: Encapsulamento e modificadores de acesso

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
Regis Magalhães
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
michellobo
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
Danilo Alves
 

Similaire à Java: Encapsulamento e modificadores de acesso (20)

3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
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
 
Asp.Net Módulo3
Asp.Net  Módulo3Asp.Net  Módulo3
Asp.Net Módulo3
 
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
Java básico - Módulo 08 - Introdução à programação orientada à objetos oo - c...
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
 
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
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Lp3
Lp3Lp3
Lp3
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
Pacotes
PacotesPacotes
Pacotes
 
Aula4
Aula4Aula4
Aula4
 
Aula 1 5
Aula 1 5Aula 1 5
Aula 1 5
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Lista deexerciciono 02
Lista deexerciciono 02Lista deexerciciono 02
Lista deexerciciono 02
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 

Plus de Arthur Emanuel

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Arthur Emanuel
 

Plus de Arthur Emanuel (20)

Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Orientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - ExercíciosOrientação a Objetos - Introdução - Exercícios
Orientação a Objetos - Introdução - Exercícios
 
Android - Integração com Facebook
Android - Integração com FacebookAndroid - Integração com Facebook
Android - Integração com Facebook
 
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, MultimidiaDesenvolvimento para Android - Acelerômetro, GPS, Multimidia
Desenvolvimento para Android - Acelerômetro, GPS, Multimidia
 
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e MenuAula 06 - Desenvolvimento de Jogos para Android - Física e Menu
Aula 06 - Desenvolvimento de Jogos para Android - Física e Menu
 
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e SomAula 05 - Desenvolvimento de Jogos para Android - Layout e Som
Aula 05 - Desenvolvimento de Jogos para Android - Layout e Som
 
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e ColisaoAula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
Aula 04 - Desenvolvendo Jogos Para Android - Pontuação e Colisao
 
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - ObstáculosAula 03 - Desenvolvendo Jogos Para Android - Obstáculos
Aula 03 - Desenvolvendo Jogos Para Android - Obstáculos
 
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do JogoAula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
Aula 02 - Desenvolvendo Jogos Para Android - Controle do Jogo
 
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do JogoAula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
Aula 01 - Desenvolvendo Jogos Para Android - Ambiente do Jogo
 
Desenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - ExercícioDesenvolvendo Jogos Para Android - Exercício
Desenvolvendo Jogos Para Android - Exercício
 
CSS 3
CSS 3CSS 3
CSS 3
 
CSS
CSSCSS
CSS
 
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
HTML -  Listas, Estilos, Tabelas, Div, Span, FormulárioHTML -  Listas, Estilos, Tabelas, Div, Span, Formulário
HTML - Listas, Estilos, Tabelas, Div, Span, Formulário
 
HTML - Introducao
HTML - Introducao HTML - Introducao
HTML - Introducao
 
Android - Google Maps
Android - Google MapsAndroid - Google Maps
Android - Google Maps
 
Android - Bluetooth
Android - BluetoothAndroid - Bluetooth
Android - Bluetooth
 
Android - Acelerometro e GPS
Android - Acelerometro e GPSAndroid - Acelerometro e GPS
Android - Acelerometro e GPS
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 

Dernier

Dernier (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Java: Encapsulamento e modificadores de acesso

  • 1. Java: Encapsulamento e Modificadores de Acesso Me. Arthur Emanuel de Oliveira Carosia
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Como retornar a idade do cliente utilizando um método? Como evitar que seja atribuído uma idade negativa ao cliente? Como atribuir uma idade ao cliente usando um método?
  • 7.  Caso haja a necessidade de se ter acesso a algum atributo, métodos devem ser fornecidos para isso  Métodos que provêem acesso ao valor do atributo possuem GET no seu prefixo.  Métodos que modificam valores de atributos possuem SET no seu prefixo.
  • 8.
  • 9. Como alterar o retorno do saldo para que seja levado em consideração o limite da conta? Implemente o método depositar Como evitar que seja depositado valor negativo na conta? Crie uma classe Principal que faça uso da classe Conta e use todos os seus métodos.
  • 10.
  • 11.  Os construtores são usados para inicializar objetos de uma classe, dando aos atributos o estado inicial que se quer que os mesmos tenham  Um construtor: ◦ Tem o mesmo nome da classe ◦ Pode ter um ou mais parâmetros ◦ Sempre é chamado através do comando new ◦ Não retorna valor ◦ Não podem ser explicitamente chamados como um método da classe
  • 12.
  • 13.
  • 14.  Public ◦ Uma declaração com o modificador public pode ser acessada de qualquer lugar e por qualquer entidade que possa visualizar a classe a que ela pertence.  Private ◦ Os membros da classe definidos como não podem ser acessados ou usados por nenhuma outra classe. Esse modificador não se aplica às classes, somente para seus métodos e atributos. Esses atributos e métodos também não podem ser visualizados pelas classes herdadas.  Protected ◦ O modificador protected torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados.  default (padrão): ◦ A classe e/ou seus membros são acessíveis somente por classes do mesmo pacote, na sua declaração não é definido nenhum tipo de modificador, sendo este identificado pelo compilador.
  • 15.  Nomeie a Classe  Normalmente as classes são públicas  Insira os atributos da classe  Normalmente os atributos são privados  Faça seus respectivos métodos Get e Set para os atributos que necessitarem  Crie os construtores da classe  Implemente os métodos necessários
  • 16.  Escreva uma classe Circulo, que contenha: • raio inteiro e centro em inteiros x e y. • método que retorna a área • método que retorna a circunferência  Crie para cada atributo seus métodos get e set  Crie o construtor sem parâmetro da classe círculo, inicializando todos os valores como 0.  Crie um construtor com 3 parâmetros, o raio, x e y.  Teste a classe em uma classe Principal.
  • 17.  Modele um funcionário. Ele deve ter o nome do funcionário, o departamento onde trabalha, seu salário (double), a data de entrada no banco (String) e seu RG (String).  Crie os métodos get e set para cada atributo e também crie um construtor vazio e outro que receba todos os atributos de funcionário.  Teste a classe em uma classe Principal.
  • 18.  Classe: Pessoa  Atributos: nome, idade.  Método: void fazAniversario()  Implemente os métodos get e set de cada atributo e também crie seus construtores.  Teste a classe em uma classe Principal.
  • 19.  É usado para a criação de uma variável que poderá ser acessada por todas as instâncias de objetos desta classe  Quando seu conteúdo é modificado numa das instâncias, a modificação ocorre em todas as demais.
  • 20.
  • 21.  A linguagem Java permite agrupar classes em uma coleção chamada pacote ◦ Ao escrever um pacote é preciso colocar o nome do pacote no topo do arquivo-fonte que declara a classe ◦ Um pacote reflete uma estrutura de diretórios ◦ Um pacote é declarado usando-se a palavra-chave package  Para se usar um pacote criado, usa-se: import pacote.*
  • 22.
  • 23.
  • 24.  Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero.
  • 25.  Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos.
  • 26. Jsp, Servlets e J2EE. André Temple, Rodrigo Fernandes de Mello, Danival Taffarel Calegari and Maurício Schiezaro. Disponível em: www.inf.ufsc.br/~bosco/downloads/livro-jsp- servlets-j2ee.pdf. W3Schools. Disponível em: http://www.w3schools.com/. Apostila de Java. Caelum. Disponível em: http://www.caelum.com.br/apostila-java-orientacao-objetos/. DEITEL, Paul J.; DEITEL, Harvey M. Java - como programar. 8. ed. São Paulo: Pearson Prentice Hall, 2010. Referências
  • 27. Java Me. Arthur Emanuel de Oliveira Carosia