對於OOP,是不可變的和不變的同義詞嗎?對於OOP,是不可變的和不變的同義詞?
我有一種模糊的感覺,存在差異,但我不確定。
我認爲不可變通常應用於對象,而不變則通常應用於屬性/值。
在這兩種情況下,對象或變量將保持未修改和「真實」,所以它們看起來非常相似。
感謝任何反饋,因爲我正在努力提高對這些術語的理解的準確性,我想我忽略了細微的差異。
對於OOP,是不可變的和不變的同義詞嗎?對於OOP,是不可變的和不變的同義詞?
我有一種模糊的感覺,存在差異,但我不確定。
我認爲不可變通常應用於對象,而不變則通常應用於屬性/值。
在這兩種情況下,對象或變量將保持未修改和「真實」,所以它們看起來非常相似。
感謝任何反饋,因爲我正在努力提高對這些術語的理解的準確性,我想我忽略了細微的差異。
不知道這些是否是正確的定義,但對我來說「不可變」意味着數據結構不會改變,而「不變」是一個不會改變並保持爲真的設置條件
(但它不相關到特定的數據實例)
。
現在使用不可變的數據結構有助於確保不變量保持爲真,因爲它們不會變異,它們不會突然破壞之前爲真的不變量。
不可變指的是一個對象在其生命週期中不會改變。
不變量是保證不會在指定的時間內發生變化。他們不必顯式地作爲屬性或值存在。
-1,因爲不明白關於不變量的位(我知道它們是什麼)。持續時間與它無關,除非它是與時間有關的不變量。 –
+1,因爲它基本上總結了它,只是它們都與特定的數據實例有關。 –
不變量的一些例子是:is_positive,x.is_positive意味着y.is_positive,colour.is_blueish –