Tamanho de fonte
Alto contraste
Altura de linha

Classes em Python

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 9 meses atrás

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.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov