我一直在和Moose玩耍,对它有一种感觉。我想要一个纯虚函数的示例,例如C++,但以Moose的话来说(特别是以C++的方式)。我知道,即使Moose施加了比普通Perl更严格的模型,也仍然存在不止一种方法来执行我要的操作(通过方法修饰符或SUPER::
调用)。这就是为什么我特意要求一个尽可能类似于C++的实现。至于“为什么?”这个限制?通常是出于好奇,但也计划以Moose为中心,将大多数C++代码移植到带有Moose的Perl中。
最佳答案
我可以想到使用角色而不是子类的这种方式:
{
package AbstractRole;
use Moose::Role;
requires 'stuff';
}
{
package Real;
use Moose;
with 'AbstractRole';
}
这将产生编译错误,因为Real没有定义内容。
现在,将东西方法添加到Real将使其起作用:
{
package Real;
use Moose;
with 'AbstractRole';
sub stuff { print "Using child function!\n" }
}
关于c++ - Moose与Perl一起用于OOP的C++用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1341903/