Skip to content

Latest commit

 

History

History
486 lines (355 loc) · 11.1 KB

DOCUMENTACAO.md

File metadata and controls

486 lines (355 loc) · 11.1 KB

POO

A Programação Orientada a Objetos (POO) é um paradigma de programação que se baseia no conceito de "objetos", que representam entidades do mundo real com características (atributos) e comportamentos (métodos). A POO enfatiza a organização do código em unidades autônomas e reutilizáveis, facilitando o desenvolvimento, manutenção e compreensão de sistemas complexos.

Documentação:

Indices

classe-conta

Classe_Conta

A classe Conta implementa as funções principais de uma conta bancária. OBS: não deve ser instanciada diretamente.

instânciando:

const conta = new Conta(1, "client name", "batatinhasfritas123")

Atributos:

Saldo -- click para mais informações.
  • type: Number
  • state: PRIVADO
  • description: saldo atual da conta
  • default: 0
  • optional: True
Agência -- click para mais informações.
  • type: String
  • state: PUBLIC
  • description: número da agência.
  • default: 0001
  • optional: True
Historico -- click para mais informações.
  • type: Array Histórico.
  • state: PUBLIC
  • description: O histórico de transações da conta.
  • default: []
  • optional: True
Senha -- click para mais informações.
  • type: String
  • state: PRIVATE
  • description: A senha de acesso à conta.
  • optional: False
Número -- click para mais informações.
  • type: Number
  • state: PUBLIC
  • description: O número da conta.
  • optional: False
Cliente -- click para mais informações.
  • type: String
  • state: PUBLIC
  • description: O nome do cliente associado à conta.
  • optional: False

Métodos:

conta_saldo [GETTER] -- click para mais informações.
  • type: Number
  • description: Retorna o valor de saldo.
const saldo = conta.Conta_saldo
conta_numero [GETTER] -- click para mais informações.
  • type: Number
  • description: Retorna o número da conta.
const numero = conta.Conta_numero
Conta_senha [GETTER] -- click para mais informações.
  • type: String
  • description: Retorna a senha da conta.
const senha = conta.Conta_senha
Conta_historico [GETTER] -- click para mais informações.
  • type: Array Historico
  • description: Retorna a lista de transações da conta.
const historico = conta.Conta_historico

retorno

Historico {
  transacoes: [
    { tipo: 'DEPOSITO', valor: 400, data: '24/08/2024, 18:05:12' },
    { tipo: 'SAQUE', valor: 30, data: '24/08/2024, 18:05:12' }
  ]
}
Conta_sacar -- click para mais informações.
  • return type: Void
  • parametrô: valor -- number
  • description: Decrementa o valor de saldo da conta.
conta.Conta_sacar(50)
Conta_depositar -- click para mais informações.
  • return type: Void
  • parametrô: valor -- number
  • description: Incrementa o valor de saldo da conta.
conta.Conta_depositar(50)

===============================================================================================

Classe_Conta_corrente

A classe Conta corrente é uma subclasse de conta e adiciona funcionalidades específicas para uma conta corrente.

instânciando:

const conta_corrente = new Conta_corrente(1, "client name", "batatinhasfritas123")

Atributos:

limite_saques -- click para mais informações.
  • type: Number
  • state: PUBLIC
  • description: Limite de saques que o usúario pode fazer por dia
  • default: 3
  • optional: True
limite_por_saque -- click para mais informações.
  • type: Number
  • state: PUBLIC
  • description: Valor limite de saque.
  • default: 500
  • optional: True

Métodos:

verificarValor -- click para mais informações.
  • return type: Boolean
  • parametro: valor - Number
  • state: PRIVADO
  • description: Verificar se o valor passado é menor ou igual que o saldo disponivel.
// exemplo saldo = 50
conta.verficarValor(50) // true
conta.verficarValor(500) // false
verificarSaldo -- click para mais informações.
  • return type: Boolean
  • parametro: none
  • state: PRIVADO
  • description: Verificar se há algum saldo na conta.
/*
  exemplo 
  saldo disponivel = 500
*/
conta.verificarSaldo() // true
verificarLimites -- click para mais informações.
  • return type: Boolean
  • parametro: valor - Number
  • state: PRIVADO
  • description: Verificar se os limites de saques e valor não foram excedidos.
/*
  exemplo 
  saques efetuados = 2
  limite = 500
*/
conta.verificarLimites(50) // true
conta.verificarLimites(700) // false
depositar -- click para mais informações.
  • return type: Boolean
  • parametro: valor - Number
  • state: PUBLIC
  • description: Executa uma verificaão antes de efetuar a transação.
//valor inserido não pode ser igual ou menor que -0
conta.depositar(50) // true
conta.depositar(0) // false
conta.depositar(-10) // false
sacar -- click para mais informações.
  • return type: Boolean
  • parametro: valor - Number
  • state: PUBLIC
  • description: Executa uma verificaão antes de efetuar a transação.
conta.sacar(50)

classe-historico

Classe_Historico

A classe Historico gerencia e armazena uma lista de transações financeiras, permitindo adicionar novas transações e acessar o histórico existente.

Instânciando:

const historico = new Historico();

Atributos:

transacoes -- click para mais informações.
  • type: transacao[]
  • state: Private
  • description: Lista de transações feitas na conta.
  • default: []
  • optional: false

Métodos:

Transacoes [GETTER] -- click para mais informações.
  • type: Transacao[]
  • description: Retorna o historico.
const historico = new Historico()
const transacoes = historico.Transacoes
nova_transacao -- click para mais informações.
  • return type: Void
  • parametro: valor - Number, tipo - "Saque" || "Deposito", data - Date
  • state: PUBLIC
  • description: Adiciona uma nova transação ao historico.
const historico = new Historico()
const transacoes = historico.nova_transacao("Saque", 100, new Date(2024, 8, 24))

classe cliente

Classe_cliente

A classe Cliente implementa a base de um registro de usuário e herda suas propriedade para a classe Pessoa_fisica

instânciando:

const cliente = new Cliente()

Atributos:

contas -- click para mais informações.
  • type: Conta_corrente[]
  • state: PUBLIC
  • description: Lista de contas vinculadas a um usuário.
  • default: []
  • optional: false

Métodos:

adicionar_conta -- click para mais informações.
  • return type: void
  • parametro: conta - conta_corrente
  • state: PUBLIC
  • description: vincula uma nova conta ao usuário.
cliente.adcionar_conta(conta)
realizar_transacao -- click para mais informações.
  • return type: void
  • parametro: transacao - transacao
  • state: PUBLIC
  • description: Registra uma nova transação a conta.
cliente.realizar_transacao(transacao)

Classe_Pessoa_fisica

A classe Pessoa_fisica extende as propriedades da classe cliente

instânciando:

const pessoa = new Pessoa_fisica("nome", "cpf")

Atributos:

nome -- click para mais informações.
  • type: String
  • state: PUBLIC
  • description: nome do cliente.
  • default: none
  • optional:false
cpf -- click para mais informações.
  • type: String
  • state: PUBLIC
  • description: cpf do cliente.
  • default: none
  • optional:false

classe Transação

Classe_Transacao

Classe transacao é uma classe abstrata. classes abstratas são classes que não podem ser instanciadas diretamento, ou seja voê não pode instanciar um objetos a partir dela. classes abstratas servem como base para outras classes definindo metodos que devem ser implementados por suas aubclasses

Atributos:

Valor -- click para mais informações.
  • type: Number
  • state: PUBLIC
  • description: O valor da transação.
  • default: none
  • optional: false

Métodos:

registrar -- click para mais informações.
  • return type: Void
  • parametro: conta - Conta_corrente
  • state: ABSTRACT
  • description: metodo a ser implementado.

Classes_Saque_Deposito

Ambas as classes implementam os atributos de Transação e servem como modelos e para gerar novas transações.

instânciando:

const saque = new Saque(500)
const deposito = new Deposito(500)

Atributos:

Valor -- click para mais informações.
  • type: Number
  • state: PUBLIC
  • description: O valor da transação.
  • default: none
  • optional: false

Métodos:

registrar -- click para mais informações.
  • return type: Void
  • parametro: conta - Conta_corrente
  • state: ABSTRACT
  • description: executa uma nova transação e registra no historico da conta caso sucesso..