首页 > 解决方案 > 单调性概念是什么意思?

问题描述

我正在阅读 python 中的 MRO 并在 C3 线性化中找到了单调性概念。我明白了,但我很好奇这个概念的起源。谁能解释我?

标签: pythonoopmethod-resolution-order

解决方案


我很难想象一个单调的有意义的线性化:它没有任何意义。

但是,在这种情况下,单调性概念的起源可以追溯到 1992 年 Ducournau, R., M. Habib, M. Huchard 和 ML Mugnier 的出版物Monotonic Conflict Resolution Mechanisms for Inheritance

在其中,作者检查了当时存在的线性化算法,这些算法存在缺陷,因为它们不满足单调性。换句话说,这些算法通过向层次结构中添加新的子类来重新排序线性化链。该属性被确定为有问题,随后在 C3 线性化中得到修复。


推荐阅读