Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

[Java/Slides] Encapsulamento por Tiago Eugenio, Slides de Informática

Slides falando sobre encapsulamento.

Tipologia: Slides

Antes de 2010

Compartilhado em 07/06/2009

gabriel-cardelli-12
gabriel-cardelli-12 🇧🇷

6 documentos

1 / 47

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
www.tiagodemelo.info
Encapsulamento
Tiago Eugenio de Melo
tiago@comunidadesol.org
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f

Pré-visualização parcial do texto

Baixe [Java/Slides] Encapsulamento por Tiago Eugenio e outras Slides em PDF para Informática, somente na Docsity!

Encapsulamento

Tiago Eugenio de Melo tiago@comunidadesol.org

Encapsulamento

● Definição:

  • Mecanismo que coloca juntos o código (métodos) e os dados (atributos), mantendoos controlados em relação ao seu nível de acesso.
  • O conceito de encapsulamento está intimamente ligado ao conceito de ocultamento da informação (information hiding).

Encapsulamento

● Objetivo:

  • Controlar o acesso de atributos e métodos de um objeto, através de uma interface bem definida. ● Benefícios:

Manutenção de software;

Evolução de software;

Encapsulamento

● Exemplo:

  • Motor de um automóvel.
  • O motorista não precisa ter conhecimento técnico de como funciona cada parte do motor, mas apenas saber qual é a sua finalidade e como usá lo.

Abstração de dados e

encapsulamento

● As classes, normalmente, ocultam os detalhes de implementação dos seus usuários. Isso se chama ocultamento de informações. ● Exemplo:

  • O motorista de um veículo ao fazer uso do motor do carro está usando o motor para se locomover, porém não precisa saber dos seus detalhes de funcionamento.

Abstração de dados e

encapsulamento

● Nesse exemplo, o cliente se preocupa com a funcionalidade que o motor oferece, mas não como essa funcionalidade é implementada. ● Esse conceito é conhecido como abstração de dados.

Abstração de dados e

encapsulamento

● Essa atividade está diretamente associada à noção de tipo abstrato de dados (ADT abstract data type), que melhora o processo de desenvolvimento de programas, pois permite mais flexibilidade ao programador na criação de novos tipos de dados.

Abstração de dados e

encapsulamento

● Assim, podese afirmar que um ADT captura duas noções: representação de dados e operações que podem ser realizadas nesses dados. ● Programadores Java utilizam classes para implementar tipos abstratos de dados.

Encapsulamento em Java

● O comportamento e a interface de uma classe são definidos a pelos métodos que operam nas instâncias de dados. ● O encapsulamento em Java é implementado através dos seus modificadores de acesso público, protegido, privado e implícito.

Encapsulamento em Java

● Considerando que o objetivo de uma classe é encapsular a complexidade, existem mecanismos para ocultar a complexidade da implementação que está dentro da classe. ● Cada método ou variável em uma classe pode ser definida como pública, privada ou protegida.

Encapsulamento em Java

● Considerando que os membros privados de uma classe só podem ser acessados por outras partes do programa através dos métodos públicos desta classe, o programador em Java pode fazer uso do encapsulamento para garantir que ações inapropriadas ou imprevistas não ocorram.

Encapsulamento em Java

● Assim, o programador em Java deve ser bastante cuidadoso ao definir a interface pública de uma classe para não expor demasiadamente o funcionamento da classe.

Encapsulamento em Java

● O modificador private é o mais restritivo e não foi criado para classes, mas apenas para membros de classes. ● Apesar disso, é possível empregar o modificador private nas classes.

Encapsulamento em Java

● A dúvida comum que surge é: como uma classe pode acessar uma classe privada? ● A solução é declarar a classe privada como sendo interna. ● Exemplo: