Buscar

Aula 08 - Prog I - Relacionamento entre Objetos - Encapsulamento GET e SET

Prévia do material em texto

Prof. Simone Gama
profsimone.gama@gmail.com
Universidade Estácio de Sá
Programação I
Aula 08 – Relacionamento entre Objetos: 
Objetos em Vetores e Encapsulamentos
mailto:profsimone.gama@gmail.com
Classes e Objetos em Java
Objeto
Prof. Simone Gama Programação I 2
É uma instanciação de um conjunto de dados,
criada durante a execução de um programa
orientado a objetos, de acordo com o que é
especificado por uma classe.
Programação Orientada à Objeto
Classes
Uma classe é um conjunto de características
e comportamentos que definem o conjunto de
objetos pertencentes à essa classe.
...ou seja, conjunto de objetos com características
semelhantes e comportamentos em comum.
Prof. Simone Gama Programação Orientada à Objetos 3
Programação Orientada à Objeto
Classes
As classes de programação são projetos de um
objeto, aonde têm características e comportamentos, ou
seja, permite armazenar propriedades e métodos dentro
dela.
Para construir uma classe é preciso utilizar o pilar
da abstração. Uma classe geralmente representa um
substantivo, por exemplo: uma pessoa, um lugar, algo que
seja “abstrato”.
Prof. Simone Gama Programação Orientada à Objetos 4
Programação Orientada à Objeto
Classe – Exemplo 1
Prof. Simone Gama Programação Orientada à Objetos 5
Classe Gato
Objetos da Classe
Programação Orientada à Objeto
Classe – Exemplo 2
Prof. Simone Gama Programação Orientada à Objetos 6
Classe Conta 
bancária
Objetos da Classe
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 0007845
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 0017845
Saldo: R$ 5500,00
Características das Classes
Caraterísticas das Classes
• Toda classe possui um nome;
• Elas possuem visibilidade: pública (public),
privada (private) ou protegida (protected);
• Possuem membros como: Características e
Ações.
Prof. Simone Gama Programação I 7
Implementando Classes e Objetos
Classe Gato do nosso exemplo anterior.
Prof. Simone Gama Programação I 8
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Implementando Classes e Objetos
Classe Gato do nosso exemplo anterior.
Prof. Simone Gama Programação I 9
Gato
Atributos:
Raça: Siamês
Nome: Sansão
Peso: 4 kilos
Métodos:
Miar
Comer
Dormir
Implementando Classes e Objetos
Criar os objetos...
Esse processo é conhecido como instanciar. Então
vamos agora criar três instâncias para a Classe Gatos.
Prof. Simone Gama Programação I 10
Classe Gatos
Objetos da Classe
Implementando Classes e Objetos
Instanciando a Classe Gatos
Prof. Simone Gama Programação I 11
Implementando Classes e Objetos
Resgatando o Exercício 3 da Aula 4:
Prof. Simone Gama Programação I 12
a) Classe Conta bancária
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 78450
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 17845
Saldo: R$ 5500,00
b) Classe Pessoa
Nome: Carlos
Idade: 39
Peso: 72 kg
Nome: Juliana
Idade: 23
Peso: 75 kg
Nome: Ericka
Idade: 15
Peso: 60 kg
Método: Saque e Transferência Método: Andar e Dormir
Prof. Simone Gama Programação I 13
a) Classe Conta bancária
Método: Saque e Transferência
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 78450
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 17845
Saldo: R$ 5500,00
Prof. Simone Gama Programação I 14
a) Classe Conta bancária
Implementando as Instâncias
Nome: Maria
Agência: 8974
Nº da Conta: 0002345
Saldo: R$ 4500,00
Nome: João
Agência: 3976
Nº da Conta: 78450
Saldo: R$ 8500,00
Nome: Jéssica
Agência: 3806
Nº da Conta: 17845
Saldo: R$ 5500,00
Criando instâncias com Vetores
Exemplo 1:
Classe: Conta
Atributos:
• Nome
• Agência
• Nº da Conta
• Saldo
Métodos:
• Saque
• Transferência
Prof. Simone Gama Programação I 15
Agora vamos utilizar vetores para armazenar mais
objetos para a classe Conta Bancária:
Criando instâncias com Vetores
Exemplo 1:
Classe: Conta
Atributos:
• Nome
• Agência
• Nº da Conta
• Saldo
Prof. Simone Gama Programação I 16
Criando instâncias com Vetores
Exemplo 1:
Classe: Conta
Atributos:
• Nome
• Agência
• Nº da Conta
• Saldo
Prof. Simone Gama Programação I 17
Criando instâncias com Vetores
Exemplo 1:
Classe: Conta
Atributos:
• Nome
• Agência
• Nº da Conta
• Saldo
Prof. Simone Gama Programação I 18
Criando instâncias com Vetores
Exemplo 1:
Classe: Conta
Atributos:
• Nome
• Agência
• Nº da Conta
• Saldo
Prof. Simone Gama Programação I 19
Construtor
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 20
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 21
• Scanner para leitura do teclado;
• Instanciar Conta com um vetor chamado
clientes [] de tamanho 4.
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 22
• Para cada posição do vetor cliente [], deve-se
criar uma instância de Conta!
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 23
Preencher os atributos de cada intância no
vetor Conta!
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 24
Criando instâncias com Vetores
Criando 4 instâncias para a classe Conta() com vetor:
Prof. Simone Gama Programação I 25
Imprimindo os elementos preenchidos!
Criando instâncias com Vetores
Exemplo 2: Exercício para armazenar 5 pessoas.
Classe: Pessoa
Atributos:
• Nome
• Idade
• Peso
Métodos:
• Andar
• Dormir
Prof. Simone Gama Programação I 26
Agora vamos utilizar vetores para armazenar mais
objetos para a classe Pessoa:
Programação Orientada à Objeto
A POO possui 4 pilares fundamentais na sua 
classificação principal como paradigma:
Prof. Simone Gama Programação I 27
Abstração - POO
Abstração
A abstração consiste em um dos pontos mais
importantes dentro de qualquer linguagem Orientada
a Objetos. Como estamos lidando com uma
representação de um objeto real (o que dá nome ao
paradigma), temos que imaginar o que esse objeto irá
realizar dentro de nosso sistema.
São três pontos que devem ser levados em
consideração nessa abstração:
Prof. Simone Gama Programação I 28
Abstração - POO
Abstração
Identidade
O primeiro ponto é darmos uma identidade ao objeto
que iremos criar. Essa identidade deve ser única
dentro do sistema para que não haja conflito. Na
maior parte das linguagens, há o conceito de pacotes.
Nessas linguagens, a identidade do objeto não pode
ser repetida dentro do pacote, e não necessariamente
no sistema inteiro.
Prof. Simone Gama Programação I 29
Abstração - POO
Abstração
Propriedades
A segunda parte diz respeito a características do
objeto. Como sabemos, no mundo real qualquer
objeto possui elementos que o definem.
Dentro da programação orientada a objetos, essas
características são nomeadas propriedades. Por
exemplo, as propriedades de um objeto “Cachorro”
poderiam ser “Tamanho”, “Raça” e “Idade”.
Prof. Simone Gama Programação I 30
Abstração - POO
Abstração
Métodos
A terceira parte é definirmos as ações que o
objeto irá executar. Essas ações, são
chamados métodos. Esses métodos podem ser
extremamente variáveis, desde “Acender()” em
um objeto lâmpada até “Latir()” em um objeto
cachorro.
Prof. Simone Gama Programação I 31
Encapsulamento - POO
Encapsulamento
Um objeto pode ser visto de duas formas diferentes:
• Internamente — Detalhes de variáveis e métodos da
classe que o define.
• Externamente — Serviços que um objeto fornece e
como este objeto interage com o resto do sistema (a
interface do objeto).
Prof. Simone Gama Programação I 32
A visão externa de um objeto encapsula o modo como 
são fornecidosos serviços Isto é, esconde os detalhes 
de implementação do objeto (information hiding).
Encapsulamento - POO
Encapsulamento
Ela se trata de um dos elementos que
adicionam segurança à aplicação em uma
programação orientada a objetos pelo fato de
esconder as propriedades consideradas
importantes.
Prof. Simone Gama Programação I 33
Encapsulamento - POO
Encapsulamento
Algumas linguagens orientadas a objetos
implementam o encapsulamento baseado em
propriedades privadas, ligadas a métodos
chamados getters e setters, que irão retornar e setar
o valor da propriedade, respectivamente.
Essa processo evita o acesso direto a propriedade do
objeto, adicionando uma outra camada de segurança à
aplicação.
Prof. Simone Gama Programação I 34
Encapsulamento - GET
Encapsulamento
Método get
Para acessar, “pegar” alguns atributos da classe,
devemos utilizar os métodos GET. Esse método
sempre retornará um valor, seja ele String, int,
double etc.
Prof. Simone Gama Programação I 35
public int get<Nome>(){
return <atributoNome>;
}
Sintaxe:
Encapsulamento - SET
Encapsulamento
Método set
Para alterar os valores de um atributo da classe de
maneira protegida, utilizamos os métodos SET. Esse
método não terá um retorno, pois o atributo será
somente modificado, criando um método de tipo VOID,
sem retorno. Porém ele deve receber algum argumento
para que possa ocorrer a devida alteração.
Prof. Simone Gama Programação I 36
public int set<Nome>(int newNome){
nome = newNome;
}
Sintaxe:
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 37
Seja a classe Números e o objeto numero do tipo int:
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 38
Seja a classe Números e o objeto numero do tipo int:
numero é privado (private)
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 39
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 40
Método set para inserir o valor 
no atributo privado numero!
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 41
Método get para obter o valor 
no atributo privado numero!
Encapsulamento GET e SET
Encapsulamento – Exemplo 3
Prof. Simone Gama Programação I 42
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 43
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 44
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 45
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 46
Classe Conta
A utilização da cláusula 
THIS faz referência ao 
atributo da classe dentro 
da qual se está 
trabalhando.
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 47
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 48
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 49
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 50
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 51
Classe Conta
Método set para inserir os 
valores em seus atributos!
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 52
Classe Conta
Método get para obter os 
valores dos seus atributos!
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 53
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 4
Prof. Simone Gama Programação I 54
Classe Conta
Encapsulamento GET e SET
Encapsulamento – Exemplo 5
Prof. Simone Gama Programação I 55
Classe Conta - Vetor
Encapsulamento GET e SET
Encapsulamento – Exemplo 5
Prof. Simone Gama Programação I 56
Classe Conta - Vetor
Encapsulamento GET e SET
Encapsulamento – Exemplo 5
Prof. Simone Gama Programação I 57
Classe Conta - Vetor
Encapsulamento GET e SET
Encapsulamento – Exemplo 5
Prof. Simone Gama Programação I 58
Classe Conta - Vetor
Encapsulamento GET e SET
Encapsulamento – Exemplo 6 - Exercício
Prof. Simone Gama Programação I 59
Classe Pessoa com vetor de 3 
posições
Bibliografia
• SEBESTA, Roberto. Conceitos de Linguagem de
Programação. 4ª e 5ª Edições. Editora Bookman, 2000 e
2003.
• Métodos GET e SET
• https://www.devmedia.com.br/criando-metodos-get-e-set-
em-java/
• https://www.digitalhouse.com/br/blog/programacao-
orientada-a-objetos-o-que-e
Prof. Simone Gama Programação I 60
https://www.devmedia.com.br/criando-metodos-get-e-set-em-java/
https://www.digitalhouse.com/br/blog/programacao-orientada-a-objetos-o-que-e

Mais conteúdos dessa disciplina