我一直在玩Moose,找到了感觉。我想要一个纯虚函数的例子,就像 C++ 中的那样,但用 Moose 的说法(特别是以 C++ 的方式)。我知道即使 Moose 强加了比普通 Perl 更严格的模型,仍然有不止一种方法可以完成我所要求的任务(通过方法修饰符或SUPER::
来电)。这就是为什么我特别要求尽可能类似于 C++ 的实现。至于“为什么?”这个限制?主要是出于好奇,但也计划使用 Moose 将一些 C++ 代码移植到 Perl,以 C++ 为中心的人们可以这样做mostly认同.
我可以想到使用角色而不是子类化的方式:
{
package AbstractRole;
use Moose::Role;
requires 'stuff';
}
{
package Real;
use Moose;
with 'AbstractRole';
}
这会产生编译错误,因为 Real 没有stuff定义的。
Adding stuffReal 方法现在将使其工作:
{
package Real;
use Moose;
with 'AbstractRole';
sub stuff { print "Using child function!\n" }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)