Orientação A Objetos
Considere um programa para um banco financeiro. É fácil perceber que uma entidade importante para o nosso sistema será uma conta. Primeiramente, suponha que você tem uma conta nesse banco com as seguintes características: titular, número, saldo e limite. Vamos começar inicializando essas características:
numero = ‘123-4’
titular = “João”
saldo = 120.0
limite = 1000.0
E se a necessidade de representar mais de uma conta surgir? Vamos criar mais uma:
numero1 = ‘123-4’
titular1 = “João”
saldo1 = 120.0
limite1 = 1000.0
numero2 = ‘123-5’
titular2 = “José”
saldo2 = 200.0
limite2 = 1000.0
Nosso banco pode vir a crescer e ter milhares de contas e, da maneira que está o programa, seria muito trabalhoso dar manutenção.
E como utilizar os dados de uma determinada conta em outro arquivo? Podemos utilizar a estrutura do dicionário que aprendemos anteriormente e agrupar essas características. Isso vai ajudar a acessar os dados de uma conta específica:
conta = {"numero": '123-4', "titular": "João", "saldo": 120.0, "limite": 1000.0}Agora é possível acessar os dados de uma conta pelo nome da chave:
conta[‘numero’] ‘123-4’
conta[‘titular’] ‘João’
Para criar uma segunda conta, crie outro dicionário:
conta2 = {"numero": '123-5', "titular": "José", "saldo": 200.0, "limite": 1000.0}Avançamos em agrupar os dados de uma conta, mas ainda precisamos repetir seguidamente essa linha de código a cada conta criada. Podemos isolar esse código em uma função responsável por criar
uma conta:
def cria_conta():
conta = {“numero”: ‘123-4’, “titular”: “João”, “saldo”: 120.0, “limite”: 1000.0} return conta
Mas ainda não é o ideal, já que queremos criar contas com outros valores e tornar a criação dinâmica. Vamos então receber esse valores como parâmetros da função, e por fim retornamos a conta:
def cria_conta(numero, titular, saldo, limite):
conta = {“numero”: numero, “titular”: titular, “saldo”: saldo, “limite”: limite} return conta
Desta maneira é possível criar várias contas com dados diferentes:
conta1 = cria_conta(‘123-4’, ‘João’, 120.0, 1000.0)
conta2 = cria_conta(‘123-5’, ‘José’, 200.0, 1000.0)
Para acessar o número de cada uma delas, fazemos:
conta1[‘numero’] ‘123-4’
conta2[‘numero’] ‘123-5’