Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Linguagem de 
Programação
Fabiano Gonçalves 
dos Santos
Aula 6
Conteúdo
• Apresentar os conceitos de Encapsulamento e 
Associações de Classes
• Criar e manipular classes com seus atributos 
Encapsulados e que se relacionem através de 
Associações
2
• Mecanismo utilizado na Programação Orientada à 
Objetos que visa obter segurança, modularidade e 
autonomia para os objetos;
• Conseguido através da definição de visibilidade 
privada dos atributos, ganhando-se assim 
autonomia para definir o que o mundo externo a 
classe poderá visualizar e acessar, normalmente 
através de métodos públicos.
Encapsulamento
3
• Sempre defina os atributos de uma classe como 
privados, a não ser que tenha uma boa justificativa 
para isso.
• O Encapsulamento protege os atributos de acesso 
direto
• Permite apenas acesso através de métodos 
públicos
Encapsulamento
4
• Modificadores de Acesso: public, protected, 
private e sem modificador (default)
• Modificadores de Não Acesso: final e abstract
– public – Atributos e métodos são acessíveis em 
todos os métodos de todas as classes. Este é o 
nível menos rígido de encapsulamento, que 
dizemos que o encapsulamento foi rompido.
– private - Atributos e métodos são acessíveis 
somente nos métodos da própria classe. 
Este é o nível mais rígido de encapsulamento. 
Modificadores de visibilidade
5
– protected - Atributos e métodos são acessíveis 
no pacote, nos métodos da própria classe e suas 
subclasses. 
– Sem Modificador – A visibilidade nas classes do 
mesmo pacote e a própria classe.
Modificadores de visibilidade
6
Visibilidades
7
• abstract – Um método abstrato não implementa 
nenhuma funcionalidade, somente assina o método 
e faz com que a primeira subclasse concreta seja 
obrigada a implementar. Uma classe que possui um 
método abstrato deve ser obrigatoriamente abstrata, 
como vimos na aula passada.
• final – Pode ser aplicado em classes, métodos e 
atributos. Indica que esta é a última atribuição ou 
definição da estrutura. Não será permitida uma nova 
re-escrita. Para uma classe, não há herança em 
classes final. Um método não pode ser sobrescrito. 
E um atributo é considerado uma constante. 
Outros modificadores
8
• static – Um método ou atributo estático define 
que este pode ser executado sem que exista 
uma instância da classe – o objeto.
Outros modificadores
9
Exemplo sem encapsulamento
10
Exemplo sem encapsulamento
11
• É preciso criar um mecanismo para acessar 
os campos private de uma classe. Para isso, 
é comum fornecer métodos públicos para acessar 
as informações encapsuladas. Estes métodos são 
chamados de set e get. O método set atribui 
valores ao atributo, enquanto que o método get
obtém seus valores.
• A composição do nome destes métodos é sempre 
com o nome set + <nome atributo> ou get + <nome 
atributo>.
Getters e Setters
12
Exemplo
13
• É um vínculo que permite que objetos de uma ou 
mais classes se relacionem. Através destes 
vínculos, é possível que um objeto troque 
mensagens ou chame os métodos de outros 
objetos.
• Na UML, quando estamos modelando o diagrama 
de classes, temos a Associação, a Composição
e a Agregação, como tipos de Associações.
Associações de classes
14
– As Associações têm acoplamento fraco
– As Composições têm acoplamento forte
– A Agregação faz parte de.
• Na implementação, não há diferença entre as 
abordagens, o que as distingue são os controles 
adicionados pelo desenvolvedor.
Associações de classes
15
Exemplo
16
Exemplo
17
• Tipo de associação onde uma nova classe usa 
classes existentes como atributos; 
• Relacionamento “tem um”.
• Ex.: 
– uma conta tem um dono (cliente), 
– um cliente tem um nome (string); 
Composição
18
Exemplo de composição
19
• Podemos ter as seguintes multiplicidades de 
associações:
– 1 para 1
– 1 para *
– * para *
• Onde * equivale a muitos.
Multiplicidade de associações
20
Exemplo de composição
21
Exemplos de associações
22
Linguagem de 
Programação
Fabiano Gonçalves 
dos Santos
Atividade 6
• A partir da classe Automovel.java apresentada abaixo, 
encapsule seus métodos e crie mecanismos públicos 
para acessar estas características.
– Crie mais um atributo na classe do tipo boolean –
estadoMotor
– Crie métodos ligarMotor() e desligarMotor(), 
atualizando o valor de estadoMotor. 
– Crie uma classe de teste para instanciar Automóvel
Automovel.java
public class Automovel {
String modelo, cor;
int ano;
}
Exercício
24
25
26
27

Mais conteúdos dessa disciplina