Classes em Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

As classes são um dos conceitos fundamentais da programação orientada a objetos (POO) em Python. Elas permitem que os programadores criem estruturas que modelam objetos do mundo real e forneçam funcionalidades específicas. Neste tutorial, vamos explorar o que são classes, como criá-las e utilizá-las em Python.

O Que São Classes?

Classes são como um blueprint para criar objetos. Um objeto é uma instância de uma classe e pode ter atributos (características) e métodos (ações). As classes são usadas para encapsular dados e as operações que podem ser realizadas com esses dados.

Criando Sua Primeira Classe

Para criar uma classe em Python, usamos a palavra-chave class. Vamos criar uma classe simples chamada Dog que representará um cachorro.

class Dog:
    # Atributos de objetos de classe
    species = 'mammal'

    # Método inicializador
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # Método de exemplo
    def description(self):
        return f"{self.name} tem {self.age} anos de idade e é um {self.species}."

    # Outro método
    def speak(self, sound):
        return f"{self.name} diz {sound}."

Entendendo o Método __init__

O método __init__ é um método especial chamado de construtor. Ele é chamado automaticamente quando criamos uma nova instância de uma classe. O self é uma referência à instância atual da classe e é usado para acessar variáveis que pertencem à classe.

Criando Instâncias de Uma Classe

Vamos criar instâncias da nossa classe Dog.

# Criando dois cachorros
meu_cachorro = Dog("Rex", 6)
seu_cachorro = Dog("Fido", 8)

# Acessando atributos
print(meu_cachorro.description())
print(seu_cachorro.description())

# Chamando métodos
print(meu_cachorro.speak("Au Au"))
print(seu_cachorro.speak("Woof"))

Herança em Classes

A herança permite que definamos uma classe que herda todos os métodos e atributos de outra classe. A classe original é chamada de classe base e a nova classe é chamada de classe derivada.

# Classe base
class Animal:
    def __init__(self):
        print("Animal criado")

    def quem_sou_eu(self):
        print("Animal")

    def comer(self):
        print("Comendo")

# Classe derivada
class Cachorro(Animal):
    def __init__(self):
        super().__init__()
        print("Cachorro criado")

    def quem_sou_eu(self):
        print("Cachorro")

    def latir(self):
        print("Au Au!")

Métodos Especiais

Python também possui métodos especiais que são usados para adicionar funcionalidades específicas às classes, como __str__, __len__ e __del__.

class Livro:
    def __init__(self, titulo, autor, paginas):
        print("Um livro foi criado")
        self.titulo = titulo
        self.autor = autor
        self.paginas = paginas

    def __str__(self):
        return f"Título: {self.titulo}, autor: {self.autor}, páginas: {self.paginas}"

    def __len__(self):
        return self.paginas

    def __del__(self):
        print("Um livro foi destruído")

livro = Livro("Python Avançado", "José Silva", 200)
print(livro)
print(len(livro))
del livro

Conclusão

As classes são uma ferramenta poderosa em Python que permitem a criação de objetos complexos com atributos e métodos. Elas são a base da programação orientada a objetos e podem ajudar a organizar e reutilizar o código de maneira eficiente. Com a prática, você se tornará cada vez mais confortável com a criação e utilização de classes em seus projetos Python.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: