R/account.R

#' A Account reference class
#' @field balance variable numerique.
#' @field datafile nom du fichier de donnée
#' @export Account
#' @exportClass Account
Account <- setRefClass("Account",
                       fields = list(balance = "numeric",
                                     datafile = "character",
                                     .privar1 = "numeric"     ),
                       methods = list(
                         initialize= function(datafile = "") {
                           balance<<-0
                           .privar1<<-0
                           datafile<<-datafile
                         },
                         withdraw = function(x) {
                           balance <<- balance - x
                         },
                         deposit = function(x) {
                           balance <<- balance + x
                         },
                         datafileget= function() {
                           return(datafile)
                         },
                         datafileset= function(name) {
                           datafile <<-name
                         }
                       )
)

#' A NoOverdraft reference class
#' @field balance variable numerique.
#' @field version variable numerique.
#' @export NoOverdraft
#' @exportClass NoOverdraft
NoOverdraft <- setRefClass("NoOverdraft",
                           contains = list("Account"),
                           methods = list(
                             withdraw = function(x) {
                               if (balance < x) stop("Not enough money")
                               balance <<- balance - x
                             }
                           )
)
sebastien45/roo documentation built on May 18, 2019, 3:39 a.m.