Child classes implement a MooseX::Interface with MooseX::ABC (Abstract Base Class)

时间:2016-02-12 21:25:30

标签: perl interface moose abc

I am trying to force all child classes of an Abstract Base Class to implement an interface. When I try add id to the ABC, it requires me to implement the required methods immediately and add with '<interface>' for each interface method.

To Illustrate the Problem,

sub <method> {}

Does anyone know a way to do this? or can recommend a different set of modules to accomplish this?

Thanks

1 个答案:

答案 0 :(得分:0)

MooseX::ABC州的文档“注意:这个模块几乎肯定是一个坏主意。你真的只想使用一个角色!”。 MooseX::Interface的文档指出“接口只是具有一些额外限制的角色......”您选择的模块表明您希望Moose看起来像Java一样工作,这是一个失败的原因。好消息是,Moose Roles几乎肯定能提供很多(如果不是全部)行为。此外,您可能会对使用Java中没有模拟的角色可以实现的一些强大功能感到惊讶。