设A, B, C, D为驼鹿类
让B和C都继承a。让D也继承B和C。
"重复"属性(A的属性同时出现在B和C中)会发生什么?
参见现代Perl:
中的方法调度顺序方法调度顺序(或方法解析顺序或MRO)对于单亲类是很明显的。先查看对象的类,然后查看它的父类,依此类推,直到找到该方法或用完了父类。从多个父类继承的类(多重继承)——气垫船扩展了Boat和car——需要更复杂的调度。关于多重继承的推理很复杂。尽可能避免多重继承。(强调我的)
Perl 5使用深度优先方法解析策略。在搜索后续父类之前,它会递归地搜索第一个命名父类的类以及该父类的所有父类。mro pragma (Pragmas)提供了替代策略,包括C3 mro策略,它在搜索给定类的任何父类之前搜索它们的直接父类。