Introdução à programação orientada a objetos (POO) com Python

A programação orientada a objetos (POO) é um paradigma de programação que permite a criação de objetos que possuem comportamentos e características próprias. Isso ajuda a organizar e modularizar o código, facilitando a manutenção e evolução do sistema.

Python é uma linguagem de programação que suporta POO, permitindo a criação de classes, objetos e métodos. Neste documento, você aprenderá os conceitos básicos de POO utilizando a linguagem Python.

Classes

Em POO, uma classe é um modelo que define as características e comportamentos de um conjunto de objetos. Uma classe é formada por atributos (características) e métodos (comportamentos). Para criar uma classe em Python, utilizamos a palavra reservada class, seguida do nome da classe:

class Pessoa:
    pass

Neste exemplo, criamos uma classe chamada Pessoa, que não possui nenhum atributo ou método. A palavra reservada pass é utilizada para indicar que a classe está vazia, ou seja, não possui nenhum código.

Objetos

Um objeto é uma instância de uma classe. Ou seja, é um elemento que foi criado a partir de um modelo definido pela classe. Para criar um objeto em Python, utilizamos o nome da classe seguido de parênteses:

pessoa = Pessoa()

Neste exemplo, criamos um objeto chamado pessoa, a partir da classe Pessoa.

Atributos

Os atributos são as características que definem um objeto. Podemos criar atributos em uma classe utilizando o método construtor __init__(). Este método é executado automaticamente quando um objeto é criado a partir de uma classe. Para criar um atributo, utilizamos o prefixo self. seguido do nome do atributo e do valor que desejamos atribuir:

class Pessoa:
    def __init__(self, nome, idade):
        self.nome = nome
        self.idade = idade

pessoa = Pessoa("João", 30)
print(pessoa.nome) # Saída: João
print(pessoa.idade) # Saída: 30

Neste exemplo, criamos uma classe Pessoa que possui dois atributos: nome e idade. Utilizamos o método construtor __init__() para definir os valores dos atributos quando um objeto é criado.

Métodos

Os métodos são os comportamentos que definem um objeto. Podemos criar métodos em uma classe utilizando a mesma sintaxe utilizada para criar funções em Python. O primeiro parâmetro de um método deve ser sempre self, que representa o próprio objeto.

class Pessoa:
    def __init__(self, nome, idade):
        self.nome = nome
        self.idade = idade

    def cumprimentar(self):
        print("Olá, meu nome é", self.nome)

pessoa = Pessoa("João", 30)
pessoa.cumprimentar() # Saída: Olá, meu nome é João

Neste exemplo, criamos um método cumprimentar() na classe Pessoa. Este método utiliza o atributo nome para imprimir uma mensagem de cumprimento.