6

我以前从未DOES在 Perl 程序中见过,但它在通用文档中。

不过,我不完全理解DOES和之间的区别ISA。规范谈到了角色,可能通过聚合、委托和模拟来完成。我在 Perl 中知道的唯一一种类关系是通过 @ISA 数组(或通过使用parentor base)继承,我认为角色仅适用于 Moose 等。该文件还说,大部分时间DOESISA将是同一件事。

你能举个例子在哪里返回不同DOESISA值吗?这两种方法之间的实际区别是什么?

4

1 回答 1

4

当你使用角色时。UNIVERSAL::DOES行为与 相同UNIVERSAL::isa,但 Moose、Mouse 和 Moo 都DOES在其对象类上提供方法,这些方法对于使用给定角色的类返回 true。

于 2013-11-09T01:00:07.823 回答