0% acharam este documento útil (0 voto)
4 visualizações24 páginas

14 Python - OO - Parte2

O documento aborda conceitos de encapsulamento na programação orientada a objetos em Python, destacando a importância da interface de um objeto e a proteção de seus atributos e métodos. Ele explica a diferença entre atributos públicos e privados, além de apresentar exemplos práticos de como utilizar métodos get e set para gerenciar dados. O texto também inclui exercícios para praticar a criação de classes e métodos relacionados a produtos e bibliotecas.

Enviado por

Neide Nascimento
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações24 páginas

14 Python - OO - Parte2

O documento aborda conceitos de encapsulamento na programação orientada a objetos em Python, destacando a importância da interface de um objeto e a proteção de seus atributos e métodos. Ele explica a diferença entre atributos públicos e privados, além de apresentar exemplos práticos de como utilizar métodos get e set para gerenciar dados. O texto também inclui exercícios para praticar a criação de classes e métodos relacionados a produtos e bibliotecas.

Enviado por

Neide Nascimento
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Python – Orientação a

Objetos – Parte 2
Introdução à Programação
SI1
Encapsulamento
• Na terminologia da orientação a objetos, diz-
se que um objeto possui uma interface.
• A interface de um objeto é como ele aparece
para os demais objetos:
– Suas caracterísEcas, sem detalhes internos
• A interface de um objeto define os serviços
que ele pode realizar e conseqüentemente
as mensagens que ele recebe
– Um objeto é “visto” através de seus métodos
2
Encapsulamento

Classe
Interface

Métodos Dados
Encapsulamento
• Encapsulamento é a proteção dos atributos
ou métodos de uma classe.
• Em Python existem somente o public e o
private e eles são definidos no próprio nome
do atributo ou método.
• Atributos ou métodos iniciado por dois
sublinhados (underline) são privados e todas
as outras formas são públicas

4
Exemplo
Get e Set
• O que são?
• Pra que servem?
Exemplo – Cenário 1
Exemplo – Cenário 1
Projeto 1

[Link] = 123

Projeto 2

[Link] = 456

Projeto 3
Projeto 5 Projeto 4


… [Link] = 432
[Link] = 653
[Link] = 432 …


Cenário 1
• Mudou a forma de atualizar o cpf!
• E agora?
– Atualizar todos os projetos envolvidos
Cenário 2
Projeto 1

[Link](123)

Projeto 2

[Link](456)

Projeto 3
Projeto 5 Projeto 4


… [Link](432)
[Link](653)
[Link](432) …


Cenário 2
• Mudou a forma de atualizar o cpf!
• E agora?
– Atualiza apenas o método setcpf.
Cenário 2
Encapsulamento/ProperEes

Violação de
Encapsulamento?

Que bruxaria é essa?


Uso de properEes
ProperEes
Atributos EstáEcos
• Atributos que comparElham o mesmo valor
para todos os objetos da classe.
Atributos da Classe

Saída>> Total Funcionarios: 2


ALGUNS MÉTODOS E ATRIBUTOS
ESPECIAIS NATIVOS
Membros NaEvos
• As classes contêm métodos e atributos
especiais que são incluídos por Python mesmo
se você não os defina explicitamente.
– Todos os membros naEvos tem 2 underscores ao
redor dos nomes: __init__ , __doc__
Membros NaEvos
• Ex:
– __repr__ existe para todas as classes e você pode
sempre redefiní-lo.
• A definição deste método especifica como
tornar a instância de uma classe em uma
string.
– print f chama f.__repr__() para chamar a
representação em string do objeto f
Exercícios
1. Construa uma classe Produto, que deve ter os
atributos codigo e preco (privados). Adicione
também um atributo estáEco qtdProd, que
deverá ser acrescentado toda vez que um novo
objeto é criado.
– Crie os métodos get e set e teste a classe.
2. Defina a classe GerenciadorProdutos que
possui uma lista de produtos (Produto é a classe
definida no exercício anterior).
• Essa classe deverá possuir os métodos:
– AdicionarProduto(Produto)
• Adiciona o produto na lista de produtos
– RemoverProduto(codigo)
• Remove o produto que possui este código da lista de
produtos
3. Adicione um novo método na classe
GerenciadorProdutos:
• PrecoTotal(listaCodigos)
– Esse método deve retornar a soma dos preços dos
produtos cujos códigos estão na lista recebida
como parâmetro.
Exercícios
4. Coloque cada objeto Ponto numa lista.
• Imprima cada elemento da lista
Exercícios
5. Crie as classes Biblioteca e Livro.
– A Biblioteca deverá conter uma lista de livros
disponíveis e lista de livros alugados
– A biblioteca deverá possuir um método para
alugar um livro. Caso o livro já esteja alugado a
pessoa não poderá alugar.
– A biblioteca deverá possuir um método para
devolver o livro.
– Adapte o código para poder informar o nome do
livro mais alugado.

Você também pode gostar