Python na Prática
http://www.async.com.br/~kiko/JOIN2004/
Christian Robottom Reis
kiko@async.com.br
Anterior | 7 | Próximo

Orientação a Objetos

  • TUDO É UM OBJETO! (finalmente)
  • Objeto é uma coisa com estado (__dict__) e métodos associados
  • Como toda linguagem OO, possui classes para definir objetos
  • O nome `instância' é usado para descrever os objetos criados a partir de classes
  • Classes mortas, instâncias vivas
  • Classes possuem hooks especiais para customização
# strings são objetos
artist = "Man made man"
artist.upper()
artist.lower()
artist.capitalize()

dir(artist)
class Retangulo:
    def __init__(self, lado_a, lado_b):
        self.lado_a = lado_a
        self.lado_b = lado_b

    def calcula_area(self):
        return self.lado_a * self.lado_b
    
    def calcula_perimetro(self):
        return 2 * self.lado_a + \
               2 * self.lado_b

r1 = Retangulo(1, 2)
r2 = Retangulo(2, 6)

print r1.calcula_area()
print r2.calcula_perimetro()