Fundamentos da linguagem Python: Programação orientada a objetos em Python
A linguagem Python é uma das mais populares do mundo, e uma de suas características mais marcantes é o suporte robusto à programação orientada a objetos (POO). A POO é um paradigma de programação que utiliza objetos e suas interações para projetar aplicações e programas de computador. Vamos explorar os conceitos fundamentais da POO em Python neste capítulo.
Classes e Objetos
Em Python, tudo é um objeto, e cada objeto é uma instância de uma classe. As classes são como moldes que definem as características (atributos) e comportamentos (métodos) que seus objetos terão. Para criar uma classe em Python, usamos a palavra-chave 'class', seguida pelo nome da classe.
class Carro: pass
Acima, criamos uma classe vazia chamada Carro. Agora, podemos criar objetos desta classe.
meu_carro = Carro()
Agora 'meu_carro' é um objeto da classe Carro.
Atributos e Métodos
Atributos são variáveis que pertencem a uma classe. Eles representam as características dos objetos. Métodos são funções que pertencem a uma classe, representando o comportamento dos objetos.
class Carro: cor = 'vermelho' # atributo def acelerar(self): # método print('Acelerando...')
Podemos acessar os atributos e métodos de um objeto usando a notação de ponto.
meu_carro = Carro() print(meu_carro.cor) # imprime 'vermelho' meu_carro.acelerar() # imprime 'Acelerando...'
Construtor __init__
O método __init__ é um método especial que é chamado automaticamente quando um objeto é criado. Ele é usado para inicializar os atributos de um objeto.
class Carro: def __init__(self, cor): self.cor = cor def acelerar(self): print('Acelerando...')
Agora, quando criamos um objeto Carro, precisamos fornecer a cor.
meu_carro = Carro('azul') print(meu_carro.cor) # imprime 'azul'
Herança
A herança é um recurso da POO que permite que uma classe herde atributos e métodos de outra classe. A classe que herda é chamada de subclasse, e a classe de onde ela herda é chamada de superclasse.
class Veiculo: def __init__(self, cor): self.cor = cor def acelerar(self): print('Acelerando...') class Carro(Veiculo): pass
Agora, a classe Carro herda de Veiculo e tem todos os seus atributos e métodos.
meu_carro = Carro('verde') print(meu_carro.cor) # imprime 'verde' meu_carro.acelerar() # imprime 'Acelerando...'
Esses são os conceitos fundamentais da programação orientada a objetos em Python. A POO é uma poderosa ferramenta para estruturar seu código de maneira clara e reutilizável, e Python oferece todas as funcionalidades necessárias para aproveitar ao máximo esse paradigma.