6.8. Programação orientada a objetos em Python: Métodos de instância em Python

Página 27

A programação orientada a objetos (OOP) é um paradigma de programação que usa "objetos" - instâncias de classes - para estruturar um programa. Esses objetos são criados a partir de classes, que são essencialmente um modelo para criar objetos. A OOP é uma maneira poderosa de abordar a programação e é amplamente usada em muitas linguagens modernas, incluindo Python.

Em Python, a Programação Orientada a Objetos começa com a criação de classes. Uma classe é como um plano para criar um objeto. Por exemplo, se tivéssemos uma classe chamada 'Carro', poderíamos usar esse plano para criar diferentes carros com diferentes atributos, como marca, modelo e cor.

Métodos de Instância em Python

Os métodos de instância são o que realmente dá vida aos nossos objetos. Eles são funções que pertencem a um objeto e podem acessar e modificar os dados dentro dele. Em Python, definimos métodos de instância da mesma maneira que definimos funções regulares - usando a palavra-chave 'def'. A principal diferença é que os métodos de instância sempre incluem 'self' como primeiro parâmetro.

O 'self' é uma referência à instância do objeto em si. É usado para acessar atributos ou métodos que pertencem a essa instância. Por exemplo, se tivéssemos um método em nossa classe 'Carro' chamado 'drive', poderíamos usá-lo para alterar o status do carro de 'parado' para 'em movimento'. Este método pode parecer algo assim:

def drive(self):
    self.status = 'em movimento'

Este método pode ser chamado em uma instância de 'Carro' da seguinte maneira:

meu_carro = Carro()
meu_carro.drive()

Isso mudaria o status de 'meu_carro' para 'em movimento'.

Exemplo de Método de Instância

Vamos expandir nossa classe 'Carro' para incluir alguns métodos de instância mais úteis:

class Carro:
    def __init__(self, marca, modelo, cor):
        self.marca = marca
        self.modelo = modelo
        self.cor = cor
        self.status = 'parado'

    def drive(self):
        self.status = 'em movimento'

    def stop(self):
        self.status = 'parado'

    def honk(self):
        return 'Beep beep!'

Aqui, adicionamos três métodos de instância: 'drive', 'stop' e 'honk'. O método 'drive' muda o status do carro para 'em movimento', o método 'stop' muda o status de volta para 'parado', e o método 'honk' retorna a string 'Beep beep!'.

Esses métodos podem ser chamados em uma instância de 'Carro' da seguinte maneira:

meu_carro = Carro('Ford', 'Mustang', 'vermelho')
meu_carro.drive()
print(meu_carro.status)  # Saída: 'em movimento'
meu_carro.stop()
print(meu_carro.status)  # Saída: 'parado'
print(meu_carro.honk())  # Saída: 'Beep beep!'

Os métodos de instância são uma parte essencial da programação orientada a objetos em Python. Eles permitem que nossos objetos tenham comportamentos e ações, e podem interagir e modificar os dados contidos dentro de nossos objetos. Com eles, podemos criar programas complexos e interativos que são organizados e fáceis de entender.

Portanto, é importante entender como os métodos de instância funcionam em Python, pois são uma ferramenta poderosa para criar programas orientados a objetos eficientes e eficazes.

Now answer the exercise about the content:

O que é a programação orientada a objetos (OOP) em Python e como os métodos de instância se encaixam nesse paradigma?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

286.9. Programação orientada a objetos em Python: Sobrecarga de operadores em Python

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text