Skip to content
EntityQ23828· pop 16· linked from 234 articles

不可變物件

Sign in to save

Also known as immutable

object whose state cannot be modified after it is created

Wikidata facts

Subclass of
object
Show 1 more fact
Sources (1)

via Wikidata · CC0

Article · 中文

在物件導向及函數程式語言中,不可變物件(英語:Immutable object)是一種物件,在被創造之後,它的狀態(成员变量、属性等的值)就不可以被改變。至於狀態可以被改變的物件,則被稱為可變物件(mutable object)。 不可变意味着不写,因此不可變物件天然地具備執行緒安全的特性,即是说如无其它特殊限制的话可以在任何线程上自由调用。此外,相較於可變物件,不可變物件在一些场合下也較合理,易於了解,而且提供較高的安全性。 小型的不可變物件可以被有效率的複製,但是較大的不可變物件,如果想要有效率的被複製,就需要更複雜的可持久化数据结构演算法。因為效能的緣故,有時候會以可變物件來加以取代不可變物件。 典型的例子例如字符串对象:C++ STL 中的 std::basic_string 是可变的,即可以修改一个 std::basic_string 对象所表示的字符串;而 .net 中的 System.String 是不可变的,System.Text.StringBuilder 才像 std::basic_string 一样可变。

Abstract from DBpedia / Wikipedia · CC BY-SA