如何调用R6父类中的函数,其中父函数依赖于其他重写的辅助函数

如何调用R6父类中的函数,其中父函数依赖于其他重写的辅助函数,r,inheritance,r6,R,Inheritance,R6,我试图在R6中创建一个类,它从其父类继承一个函数。但是,该函数依赖于在子类中被覆盖的其他“helper”函数 当我调用父函数时,我希望它使用父类中的helper函数,而不是子类中被重写的函数 下面是我的代码工作原理的模型: ParentClass <- R6Class( public = list( helper_fn = function() { print("Parent helper.") }, main_fn = function() { self$helpe

我试图在R6中创建一个类,它从其父类继承一个函数。但是,该函数依赖于在子类中被覆盖的其他“helper”函数

当我调用父函数时,我希望它使用父类中的helper函数,而不是子类中被重写的函数

下面是我的代码工作原理的模型:

ParentClass <- R6Class(
  public = list(
    helper_fn = function() { print("Parent helper.") }, 
    main_fn = function() { self$helper_fn() } 
    }
  )
)

ChildClass <- R6Class(
  inherit = ParentClass,
  public = list(
    helper_fn = function() { print("Child helper.") },
    main_fn = function() { super$main_fn() }
  )
)

有可能避免这种情况吗?或者这就是重写函数的工作方式?

我可能无法帮助解决问题,但看起来是因为父级的
main\u fn
self
上调用一个函数,而R将该函数定向到子级实例,而不是父级实例


你可以尝试从父母那里继承
helper\u fn
,并像
childHelper\u fn
那样给孩子的助手取不同的名字,如果这对你想做的事情有效的话。

我正在学习更多关于R6和继承的知识-那么你在这里期待什么呢?
child_class <- ChildClass$new()
child_class$main_fn()
# prints "Parent helper."