我以前从未DOES在Perl程序中看到过,但它仍然存在于通用文档中.
但我完全不明白DOES和之间的区别ISA是什么.规范说明了角色,可能通过聚合,委派和模拟来实现.我在Perl中了解的唯一类关系是通过@ISA数组继承(或使用parent或base),我认为角色只能用于Moose等.该文件还指出,大部分的时间DOES和ISA将是同样的事情.
你能给出一个例子,DOES并ISA返回不同的值吗?这两种方法有什么实际区别?
当您使用角色时.UNIVERSAL::DOES行为相同UNIVERSAL::isa,但Moose,Mouse和Moo都提供DOES了对象类的方法,这些方法对于使用给定角色的类返回true.
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |