8.5 Métodos

Como vimos, além dos atributos, nossa conta deve possuir funcionalidades. No arquivo teste_conta.py criamos as funções saca() , deposita() e extrato() . No paradigma orientado a objetos, as funcionalidades de um objeto são chamados de métodos - do ponto de vista do código, são as funções dentro de uma classe.

Vamos criar o método deposita() na classe Conta . Aqui, assim como o método init () , o método deposita() deve receber a instância do objeto (self) além do valor a ser depositado:

class Conta:

método init () omitido def deposita(self, valor):

self.saldo += valor

Isso acontece porque o método precisa saber qual objeto conta ele deve manipular, qual conta vai depositar um determinado valor - e podemos ter muitas contas criadas no nosso sistema.

Utilizamos o operador ’.’ (ponto) através do objeto conta para chamar o método deposita :

conta.deposita(20.0)

Ao ler esse código, o interpretador associa o objeto conta ao argumento self do método - note que não precisamos passar a conta como argumento, isso é feito por debaixo dos panos pelo Python.

Faremos o mesmo para os métodos saca() e extrato() :

class Conta:

outros métodos omitidos def saca(self, valor):

self.saldo -= valor

def extrato(self):
print(f'numero: {} \nsaldo: {} {self.numero, self.saldo}')

Agora vamos testar nossos métodos:

conta = Conta(‘123-4’, ‘João’, 120.0, 1000.0) conta.deposita(20.0)

conta.extrato() numero: ‘123-4’

saldo: 140.0 conta.saca(15) conta.extrato() numero: ‘123-4’

saldo: 125.0

O saldo inicial era de 120 reais. Depositamos 20 reais, sacamos 15 reais e tiramos o extrato que resultou em 125 reais.

96 8.5 MÉTODOS

Por fim, o código de nossaConta vai ficar assim:‌

class Conta:
def __init__(self, numero, titular, saldo, limite): self.numero = numero
 
self.titular = titular self.saldo = saldo self.limite = limite
 
def deposita(self, valor): self.saldo += valor
def saca(self, valor): self.saldo -= valor
def extrato(self):
print(f'numero: {} \nsaldo: {} {self.numero, self.saldo}')

⬅️ Capítulo Anterior | Próximo Capítulo ➡️