中文
Sign in
AI tools
热门问题
时间线
聊天
视角
全部
文章
字典
引用
地图
Immutable object
来自维基百科,自由的百科全书
Found in articles
不可變物件
在物件導向及函數程式語言中,不可變物件(英語:
Immutable
object
)是一種物件,在被創造之後,它的狀態(成员变量、属性等的值)就不可以被改變。至於狀態可以被改變的物件,則被稱為可變物件(mutable
object
)。 不可变意味着只读不写,因此不可變物件天然地具備執行緒安全的特性,即是
享元模式
data; } // return the single
immutable
copy with the given values return result; } @Override public boolean equals(
Object
obj) { if (obj instanceof FontData)
Kotlin
buildString() { append(this@andAnother); append(" "); append(other ?: "") } //
immutable
types, delegated properties, lazy initialization, string templates val
协变与逆变
Object
與equals方法. 函數的實現並不依賴於陣列元素的確切型別,因此可以寫一個單獨的實現而適用於所有的陣列: boolean equalArrays (
Object
[] a1,
Object
[] a2); void shuffleArray(
Object
[] a);
子类型
subtyping):给记录增加更多的域。 深度子类型化(depth subtyping):把超类型(supertype)的域替换为域的子类型。这仅能用于只读(
immutable
)记录。 对于函数类型T1 → T2,其子类型为S1 → S2,则T1 <: S1且S2 <: T2。参数类型S1 → S2为逆变,返回类型为协变。