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