对于OOP,是不可变且不变的同义词吗?
我有一种模糊的感觉,存在差异,但我不确定。
我认为不可变通常应用于对象,而不变通常应用于属性/值。
在这两种情况下,对象或变量都将保持不变,并且" true",因此它们看起来非常相似。
感谢您的任何反馈,因为我正在努力提高对这些术语理解的准确性,我认为我忽略了微妙的差异。
答案 0 :(得分:5)
不确定这些是否是正确的定义,但对我来说“不可变”意味着数据结构不会改变,而“不变”是一个不变的设定条件并保持为真(但它不是与特定的数据实例有关)。
现在使用不可变数据结构有助于确保不变量保持为真,因为它们不会发生变异,它们不会突然破坏之前为真的不变量。
答案 1 :(得分:0)
不可变是指物体在其生命周期内不会发生变化。
不变量是指在指定的持续时间内不会更改的保证。它们不必明确地作为属性或值存在。