标签
本文解释了为什么在编程语言中可变数据类型不能是不可变类型的子类型,使用里氏替换原则(Liskov substitution principle)和配对作为例子,以突出类型安全性和不可变性契约。
本文探讨了里氏替换原则超越其常见解释的内涵,强调其基于子类型的形式化基础,涉及前置条件、后置条件、不变量和历史属性,并引用了原始研究论文。