单调性概念的含义是什么?

时间:2019-01-07 14:58:07

标签: python oop method-resolution-order

我正在阅读有关python中MRO的文章,并在C3线性化中发现了单调性概念。我明白了,但我对这个概念的起源感到好奇。谁能解释我?

1 个答案:

答案 0 :(得分:1)

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

但是在这种情况下,单调性概念的起源值得我们追溯到1992年出版的Monotonic Conflict Resolution Mechanisms for Inheritance by Ducournau, R., M. Habib, M. Huchard, & M. L. Mugnier.

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