让A,B,C,D为驼鹿类。
让B和C都从A继承。让D也从B和C继承。
“重复”属性会发生什么(B和C中的A属性)?
答案 0 :(得分:2)
请参阅 Modern Perl 中的Method Dispatch Order:
对于单父类,方法调度顺序(或方法解析顺序或MRO)是显而易见的。查看对象的类,然后查看其父类,依此类推,直到找到方法或用完父类。从多个父项继承的类(多重继承)-Hovercraft扩展了Boat和Car-require-trickier dispatch。 关于多重继承的推理很复杂。尽可能避免多重继承。 (强调我的)
Perl 5使用深度优先方法解析策略。在搜索后续父项的类之前,它会递归搜索第一个命名父项的类和所有父项的父项。 mro pragma(Pragmas)提供了替代策略,包括C3 MRO策略,在搜索任何父母之前搜索特定班级的直系父母。