加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

用于OOP的Moose与Perl的类似C语言的使用

发布时间:2020-12-15 22:01:27 所属栏目:大数据 来源:网络整理
导读:我一直在玩Moose,感受它.我想要一个像C语言中的纯虚函数的例子,但是用Moose的说法(特别是以C -looking的方式).我知道即使Moose强加了比普通Perl更严格的模型,仍然有不止一种方法可以做我想问的方法(通过方法修饰符或SUPER ::调用).这就是为什么我要尽可能专
我一直在玩Moose,感受它.我想要一个像C语言中的纯虚函数的例子,但是用Moose的说法(特别是以C -looking的方式).我知道即使Moose强加了比普通Perl更严格的模型,仍然有不止一种方法可以做我想问的方法(通过方法修饰符或SUPER ::调用).这就是为什么我要尽可能专门针对类似C的实现.至于“为什么?”这个限制?主要是好奇心,但也计划将一些C代码移植到Perl和Moose中,这种方式可以让人们最常认同.

解决方法

我可以想到这种方式使用角色而不是子类化:
{
    package AbstractRole;
    use Moose::Role;
    requires 'stuff';  
}

{
    package Real;
    use Moose;
    with 'AbstractRole';
}

这将产生编译错误,因为Real没有定义任何东西.

向Real添加stuff方法现在可以使它工作:

{
    package Real;
    use Moose;
    with 'AbstractRole';

    sub stuff { print "Using child function!n" }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读