Escolar Documentos
Profissional Documentos
Cultura Documentos
Federal de Viosa
Departamento de Informtica
Centro de Cincias Exatas e Tecnolgicas
Introduo Programao
Universidade Federal de Viosa
Classes
INF 100
1
Classes e Objetos
Todos os tipos de dados que j vimos do Python
INF 100 Introduo Programao
>>> type(3)
<class 'int'>
>>> type(3.0)
<class 'float'>
>>> type('Ol, gente!')
<class 'str'>
>>> type([1, 2, 3, 4, 5])
<class 'list'>
Universidade Federal de Viosa
3
Departamento de Informtica
Programao Orientada a Objetos
A programao orientada a objetos uma tcnica
INF 100 Introduo Programao
def __init__(self):
self.ligado = False
self.canal = 2
tv = Televisor()
print(tv.ligado)
print(tv.canal)
tv_sala = Televisor()
tv_sala.ligado = True
tv_sala.canal = 4
print(tv.canal)
print(tv_sala.canal)
Universidade Federal de Viosa
7
Departamento de Informtica
Modelagem de um Televisor
Para criar uma nova classe, usamos a palavra-chave
INF 100 Introduo Programao
classe Televisor
Crie dois objetos Televisor e atribua marcas
e tamanhos diferentes a eles
Depois imprima o valor desses atributos de
modo a verificar a independncia dos valores
de cada instncia
def __init__(self):
self.ligado = False
self.canal = 2
def mudaCanalParaCima(self):
self.canal = self.canal + 1
def mudaCanalParaBaixo(self):
self.canal = self.canal - 1
Universidade Federal de Viosa
12
Departamento de Informtica
Uso da Classe Televisor
>>> tv = Televisor()
INF 100 Introduo Programao
>>> tv.mudaCanalParaCima()
>>> tv.mudaCanalParaCima()
>>> tv.canal
4
>>> tv.mudaCanalParaBaixo()
>>> tv.canal
3
self.ligado = False
self.canal = 2
self.cmin = min
self.cmax = max
def mudaCanalParaCima(self):
if self.canal + 1 <= self.cmax:
self.canal += 1
def mudaCanalParaBaixo(self):
if self.canal 1 >= self.cmin:
self.canal -= 1
tv = Televisor(1, 99)
for x in range(120):
tv.mudaCanalParaCima()
print(tv.canal)
for x in range(120):
tv.mudaCanalParaBaixo()
print(tv.canal)
representar cliente
Como dissemos, cliente muito simples, tem
apenas dois atributos: nome e telefone
class Cliente:
def __init__(self, nome, telefone):
self.nome = nome
self.telefone = telefone
def resumo(self):
print("Cc n %s Saldo: %10.2f" %
(self.numero, self.saldo))
def resumo(self):
print("Cc n %s Saldo: %10.2f" %
(self.numero, self.saldo))
def extrato(self):
print("Extrato Cc n %s\n" % self.numero)
for op in self.operacoes:
print("%10s %10.2f" % (op[0], op[1]))
print("\n Saldo: %10.2f\n" % self.saldo)
outra classe
Agora para armazenar todas as contas de um
banco
Como atributos, teremos o nome do banco e a
lista de suas contas
Como mtodos, teremos a operao de
abertura de conta corrente e a listagem de
todas as contas do banco
Universidade Federal de Viosa
31
Departamento de Informtica
Banco de Varejo
class Banco:
INF 100 Introduo Programao
def listaContas(self):
for c in self.contas:
c.resumo()