SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Classes e Objetos
fmasanori@gmail.com
Baixar os códigos abaixo
• tv*.py
• tatu*.py
• teste*.py
Classes e objetos
• Classes associam dados (atributos) e
operações (métodos) em uma só estrutura
• Um objeto é uma variável cujo tipo é uma
classe, ou seja, um objeto é uma instância de
uma classe
• Veremos apenas o básico da orientação à
objetos
Classes e objetos
Classes e objetos
• Quando declaramos uma classe, estamos
criando um novo tipo de dados
• Da mesma forma que quando criamos uma
lista ou uma string, estamos instanciando ou
criando uma instância dessas classes
• É a mesma coisa fazer lista = [] ou lista = list()
• O método __init__ é chamado construtor e é
chamado na criação do objeto
Classes e objetos
• O parâmetro self significa o objeto televisão
em si
• self.ligada é um valor de self, ou seja, do
objeto televisão
• Sempre que criamos atributos do objeto,
devemos associá-los a self.
• Caso contrário, se escrevêssemos apenas
ligada = False, ligada seria apenas uma
variável local do método e não um atributo
Classes e objetos
Classes e objetos
• Você irá informatizar o banco Tatú,
controlando o saldo das contas correntes
• Cada conta corrente pode ter um ou mais
clientes como titular
• O banco controla apenas o nome e telefone
• A conta corrente apresenta um saldo e um
extrato de operações de saques e depósitos
• Não há contas especiais, logo o cliente não
pode sacar mais do que têm no saldo
Arquivo tatu.py
Arquivo teste.py
Saída de teste.py
Extrato de operações
• Altere o método resumo da classe Conta para
extrato, imprimindo agora uma lista de
operações de saques e depósitos feitas
• Altere o método __init__ para que utilize o
método depósito para inicializar o saldo
Arquivo tatu2.py (apenas Conta)
Arquivo teste2.py
Saída de teste2.py
Herança
• A orientação a objetos permite modificar
nossas classes, adicionando ou modificando
atributos e métodos, tendo como base a
classe anterior
• Vamos criar contas especiais, onde podemos
sacar mais dinheiro que o saldo, até um
determinado limite
• As operações depósito, extrato e resumo
continuam como uma conta normal
Adicionar ContaEspecial tatu3.py
ContaEspecial
• Observe que escrevemos Conta entre
parênteses
• ContaEspecial herda os métodos e atributos
de Conta
• self.limite será criado apenas para classes do
tipo ContaEspecial
• Observe que estamos substituindo
completamente o método saque em
ContaEspecial
Arquivo teste3.py
Saída teste3.py
Vantagens da herança
• Modificamos muito pouco o nosso programa,
mantendo a funcionalidade anterior e
adicionando novos recursos
• Foi possível fazer o reuso dos métodos de
Conta
• Assim a definição da classe ContaEspecial foi
bem menor, incluindo apenas o
comportamento diferente
Outro exemplo OOP

Más contenido relacionado

Destacado

Fase 1 arquitectura del pc
Fase 1 arquitectura del pcFase 1 arquitectura del pc
Fase 1 arquitectura del pcdaniguma8805
 
Número de empresas com contas em atraso cresce 7,46% em abril
Número de empresas com contas em atraso cresce 7,46% em abrilNúmero de empresas com contas em atraso cresce 7,46% em abril
Número de empresas com contas em atraso cresce 7,46% em abrilSPC Brasil
 
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos Rodríguez
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos RodríguezHONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos Rodríguez
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos RodríguezJuan Carlos Rodríguez
 
Jhon jairo pimienta garcia del sena
Jhon jairo pimienta garcia del senaJhon jairo pimienta garcia del sena
Jhon jairo pimienta garcia del senajhonpimienta
 
Indicadores de cortes de Novembro - 2013
Indicadores de cortes de Novembro - 2013Indicadores de cortes de Novembro - 2013
Indicadores de cortes de Novembro - 2013SPC Brasil
 
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...Juan Carlos Rodríguez
 
Enfoques multiculturales para enseñanza de las matemáticas peter collins, ro...
Enfoques multiculturales para enseñanza de las matemáticas  peter collins, ro...Enfoques multiculturales para enseñanza de las matemáticas  peter collins, ro...
Enfoques multiculturales para enseñanza de las matemáticas peter collins, ro...Peter Collins
 
Filosofía 2013
Filosofía 2013Filosofía 2013
Filosofía 2013Juan Jose
 
El milagro de un embarazo y parto feliz
El milagro de un embarazo y parto felizEl milagro de un embarazo y parto feliz
El milagro de un embarazo y parto felizAlfredo Benitez
 
Detalhes em anastomose1
Detalhes em anastomose1Detalhes em anastomose1
Detalhes em anastomose1Urovideo.org
 
As aparências enganam
As aparências enganamAs aparências enganam
As aparências enganammanuelaborges
 
Padrões para Introduzir Novas Ideias
Padrões para Introduzir Novas IdeiasPadrões para Introduzir Novas Ideias
Padrões para Introduzir Novas IdeiasDaniel Cukier
 
Pesquisa Mão de Obra Temporário 2014 Metodo
Pesquisa Mão de Obra Temporário 2014 MetodoPesquisa Mão de Obra Temporário 2014 Metodo
Pesquisa Mão de Obra Temporário 2014 MetodoSPC Brasil
 
cuarcitas del pleistoceno medio en Sierra Mágina
cuarcitas del pleistoceno medio en Sierra Máginacuarcitas del pleistoceno medio en Sierra Mágina
cuarcitas del pleistoceno medio en Sierra MáginaMarga Reig
 

Destacado (20)

Resolução uerj
Resolução uerjResolução uerj
Resolução uerj
 
Do planeta natural ao planeta insustentável série 1
Do planeta natural ao planeta insustentável série 1Do planeta natural ao planeta insustentável série 1
Do planeta natural ao planeta insustentável série 1
 
Blog
BlogBlog
Blog
 
Fase 1 arquitectura del pc
Fase 1 arquitectura del pcFase 1 arquitectura del pc
Fase 1 arquitectura del pc
 
Número de empresas com contas em atraso cresce 7,46% em abril
Número de empresas com contas em atraso cresce 7,46% em abrilNúmero de empresas com contas em atraso cresce 7,46% em abril
Número de empresas com contas em atraso cresce 7,46% em abril
 
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos Rodríguez
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos RodríguezHONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos Rodríguez
HONESTIDAD RADICAL: Dile a tu jefe que es un tirano. Por Juan Carlos Rodríguez
 
Lucratividade 131118123751-phpapp01
Lucratividade 131118123751-phpapp01Lucratividade 131118123751-phpapp01
Lucratividade 131118123751-phpapp01
 
Jhon jairo pimienta garcia del sena
Jhon jairo pimienta garcia del senaJhon jairo pimienta garcia del sena
Jhon jairo pimienta garcia del sena
 
Indicadores de cortes de Novembro - 2013
Indicadores de cortes de Novembro - 2013Indicadores de cortes de Novembro - 2013
Indicadores de cortes de Novembro - 2013
 
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...
FOFITO. El humor que agita las conciencias. Por Juan Carlos Rodríguez. Fotos ...
 
Enfoques multiculturales para enseñanza de las matemáticas peter collins, ro...
Enfoques multiculturales para enseñanza de las matemáticas  peter collins, ro...Enfoques multiculturales para enseñanza de las matemáticas  peter collins, ro...
Enfoques multiculturales para enseñanza de las matemáticas peter collins, ro...
 
Filosofía 2013
Filosofía 2013Filosofía 2013
Filosofía 2013
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
 
El milagro de un embarazo y parto feliz
El milagro de un embarazo y parto felizEl milagro de un embarazo y parto feliz
El milagro de un embarazo y parto feliz
 
Detalhes em anastomose1
Detalhes em anastomose1Detalhes em anastomose1
Detalhes em anastomose1
 
As aparências enganam
As aparências enganamAs aparências enganam
As aparências enganam
 
40 curso passe2
40 curso passe240 curso passe2
40 curso passe2
 
Padrões para Introduzir Novas Ideias
Padrões para Introduzir Novas IdeiasPadrões para Introduzir Novas Ideias
Padrões para Introduzir Novas Ideias
 
Pesquisa Mão de Obra Temporário 2014 Metodo
Pesquisa Mão de Obra Temporário 2014 MetodoPesquisa Mão de Obra Temporário 2014 Metodo
Pesquisa Mão de Obra Temporário 2014 Metodo
 
cuarcitas del pleistoceno medio en Sierra Mágina
cuarcitas del pleistoceno medio en Sierra Máginacuarcitas del pleistoceno medio en Sierra Mágina
cuarcitas del pleistoceno medio en Sierra Mágina
 

Similar a TWP25 Classes e Objetos

07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalizeArtur Todeschini
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Professor Samuel Ribeiro
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetosMateus Parente
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objetoDanilo Alves
 
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íciosArthur Emanuel
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaDaniel Brandão
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
 
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...Professor Samuel Ribeiro
 
AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptJoberthSilva
 
AULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.pptAULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.pptJoberthSilva
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 

Similar a TWP25 Classes e Objetos (20)

JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Poo
PooPoo
Poo
 
08 modificadores static
08   modificadores static08   modificadores static
08 modificadores static
 
07 construtores e finalize
07   construtores e finalize07   construtores e finalize
07 construtores e finalize
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos Java Básico - Módulo 07: Introdução à programação orientada à objetos
Java Básico - Módulo 07: Introdução à programação orientada à objetos
 
Java & orientação a objetos
Java & orientação a objetosJava & orientação a objetos
Java & orientação a objetos
 
Csharp fundamentals
Csharp fundamentalsCsharp fundamentals
Csharp fundamentals
 
Guia Rápido Java
Guia Rápido JavaGuia Rápido Java
Guia Rápido Java
 
Aula 02 implementação objeto
Aula 02   implementação objetoAula 02   implementação objeto
Aula 02 implementação objeto
 
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
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 
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...
 
JAVA - Pacotes
JAVA - PacotesJAVA - Pacotes
JAVA - Pacotes
 
AULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.pptAULA 1 - Classes e Objetos com codigicação Java.ppt
AULA 1 - Classes e Objetos com codigicação Java.ppt
 
AULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.pptAULA 1 - Classes e Objetos.ppt
AULA 1 - Classes e Objetos.ppt
 
Programando em python - Classes
Programando em python -  ClassesProgramando em python -  Classes
Programando em python - Classes
 
3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 

Más de FATEC São José dos Campos

Lista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbisLista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbisFATEC São José dos Campos
 

Más de FATEC São José dos Campos (20)

Seja feliz programando em python
Seja feliz programando em pythonSeja feliz programando em python
Seja feliz programando em python
 
Import community pycon jp
Import community pycon jpImport community pycon jp
Import community pycon jp
 
Import community
Import communityImport community
Import community
 
Why python
Why pythonWhy python
Why python
 
Hackeando Dados públicos com python
Hackeando Dados públicos com pythonHackeando Dados públicos com python
Hackeando Dados públicos com python
 
Import community
Import communityImport community
Import community
 
Python, the next Brazilian generation
Python, the next Brazilian generationPython, the next Brazilian generation
Python, the next Brazilian generation
 
Para gostar de Python DevDay
Para gostar de Python DevDay Para gostar de Python DevDay
Para gostar de Python DevDay
 
Classic Games with Python in the browser
Classic Games with Python in the browserClassic Games with Python in the browser
Classic Games with Python in the browser
 
Exercício Programa 1 Python para Zumbis
Exercício Programa 1 Python para ZumbisExercício Programa 1 Python para Zumbis
Exercício Programa 1 Python para Zumbis
 
Lista de exercícios V python para zumbis
Lista de exercícios V python para zumbisLista de exercícios V python para zumbis
Lista de exercícios V python para zumbis
 
Lista de exercícios IV python para zumbis
Lista de exercícios IV python para zumbisLista de exercícios IV python para zumbis
Lista de exercícios IV python para zumbis
 
Lista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbisLista de exercícios III Desafios python para zumbis
Lista de exercícios III Desafios python para zumbis
 
Lista de exercícios II python para zumbis
Lista de exercícios II python para zumbisLista de exercícios II python para zumbis
Lista de exercícios II python para zumbis
 
Lista de exercícios I python para zumbis
Lista de exercícios I python para zumbisLista de exercícios I python para zumbis
Lista de exercícios I python para zumbis
 
Lista de exercícios XIV Python para Zumbis
Lista de exercícios XIV Python para ZumbisLista de exercícios XIV Python para Zumbis
Lista de exercícios XIV Python para Zumbis
 
TWP56 DJ Mix 1
TWP56 DJ Mix 1TWP56 DJ Mix 1
TWP56 DJ Mix 1
 
TWP54 Exceções
TWP54 ExceçõesTWP54 Exceções
TWP54 Exceções
 
TWP52 MVC Model View Controller
TWP52 MVC Model View ControllerTWP52 MVC Model View Controller
TWP52 MVC Model View Controller
 
TWP50 Interface Gráfica GUI
TWP50 Interface Gráfica GUITWP50 Interface Gráfica GUI
TWP50 Interface Gráfica GUI
 

TWP25 Classes e Objetos

  • 2. Baixar os códigos abaixo • tv*.py • tatu*.py • teste*.py
  • 3. Classes e objetos • Classes associam dados (atributos) e operações (métodos) em uma só estrutura • Um objeto é uma variável cujo tipo é uma classe, ou seja, um objeto é uma instância de uma classe • Veremos apenas o básico da orientação à objetos
  • 5. Classes e objetos • Quando declaramos uma classe, estamos criando um novo tipo de dados • Da mesma forma que quando criamos uma lista ou uma string, estamos instanciando ou criando uma instância dessas classes • É a mesma coisa fazer lista = [] ou lista = list() • O método __init__ é chamado construtor e é chamado na criação do objeto
  • 6. Classes e objetos • O parâmetro self significa o objeto televisão em si • self.ligada é um valor de self, ou seja, do objeto televisão • Sempre que criamos atributos do objeto, devemos associá-los a self. • Caso contrário, se escrevêssemos apenas ligada = False, ligada seria apenas uma variável local do método e não um atributo
  • 8. Classes e objetos • Você irá informatizar o banco Tatú, controlando o saldo das contas correntes • Cada conta corrente pode ter um ou mais clientes como titular • O banco controla apenas o nome e telefone • A conta corrente apresenta um saldo e um extrato de operações de saques e depósitos • Não há contas especiais, logo o cliente não pode sacar mais do que têm no saldo
  • 12. Extrato de operações • Altere o método resumo da classe Conta para extrato, imprimindo agora uma lista de operações de saques e depósitos feitas • Altere o método __init__ para que utilize o método depósito para inicializar o saldo
  • 16. Herança • A orientação a objetos permite modificar nossas classes, adicionando ou modificando atributos e métodos, tendo como base a classe anterior • Vamos criar contas especiais, onde podemos sacar mais dinheiro que o saldo, até um determinado limite • As operações depósito, extrato e resumo continuam como uma conta normal
  • 18. ContaEspecial • Observe que escrevemos Conta entre parênteses • ContaEspecial herda os métodos e atributos de Conta • self.limite será criado apenas para classes do tipo ContaEspecial • Observe que estamos substituindo completamente o método saque em ContaEspecial
  • 21. Vantagens da herança • Modificamos muito pouco o nosso programa, mantendo a funcionalidade anterior e adicionando novos recursos • Foi possível fazer o reuso dos métodos de Conta • Assim a definição da classe ContaEspecial foi bem menor, incluindo apenas o comportamento diferente