GastonPalazzo

Cuenta

Oct 11th, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.58 KB | None | 0 0
  1. #imports
  2. from abc import ABC, abstractmethod
  3. from datetime import date, datetime
  4.  
  5. #class
  6. class Cuenta(ABC):
  7.     #cnstr
  8.     def __init__(self, CBU, activos):
  9.         self._CBU = CBU
  10.         self._activos = activos
  11.         self._pasivos = 0
  12.         self._balance = self._activos - self._pasivos
  13.         self._fechaUltimoMov = date.today()
  14.         self._transacciones = []
  15.         self._tipoDeCuenta= str(type(self)).split('.')[1].split("'")[0]
  16.     #
  17.     #meths
  18.         #gtt & stt
  19.     def getTipoDeCuenta(self):
  20.         return self._tipoDeCuenta
  21.     def getActivos(self):
  22.         return self._activos
  23.     def getPasivos(self):
  24.         return self._pasivos
  25.     def getCBU(self):
  26.         return self._CBU
  27.     def getFechaUltimoMov(self):
  28.         return self._fechaUltimoMov
  29.     def getTransacciones(self):
  30.         return self._transacciones
  31.     #
  32.     def setActivos(self, monto):
  33.         self._activos+=monto
  34.     def setCBU(self, nuevoCBU):
  35.         self._CBU=nuevoCBU
  36.     def setFechaUltimoMov(self, nuevaFechaDeMov):
  37.         self._fechaUltimoMov=nuevaFechaDeMov
  38.     #
  39.         #especificos
  40.     def getBalance(self):
  41.         self._balance=self._activos-self._pasivos
  42.         return self._balance
  43.     def agregarActivos(self, activo):
  44.         self._activos+=activo
  45.     def agregarPasivo(self, monto):
  46.         self._pasivos+=monto
  47.     def acreditar(self, monto, medio):
  48.         self._transacciones.append(f'{monto}, {medio}')
  49.         self._activos+=monto
  50.         self._fechaUltimoMov=date.today()
  51.     #
  52.     @abstractmethod
  53.     def debitar(self, monto, medio):
  54.         pass
Add Comment
Please, Sign In to add comment