kotlin 擴充套件

2021-07-25 20:02:28 字數 972 閱讀 4220

kotlin允許擴充套件類的屬性和方法,不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對被擴充套件的類**本身不會造成任何影響。

擴充套件函式定義形式:

fun

receivertype

.functionname(params)

其中,receivertype 為待擴充套件的類名,. 修飾符為擴充套件符,functionname 為自定義的擴充套件函式名,params 為自定義的擴充套件函式引數,可為空。

class

user

(var name:string)

/**擴充套件函式**/

fun user.print

()fun

main

(arg:array

)

擴充套件函式作用域,受函式的visibility modifiers影響。

擴充套件函式並沒有對原類做修改,而是為被擴充套件類的物件新增新的函式。有一條規則,若擴充套件函式和類原有函式一致,則使用該函式時,會優先使用類本身的函式。

class

user

}fun user.print

()

可以擴充套件乙個空物件

fun any?.tostring

():string

}

物件有可能為空,為空時,返回"null",而不是丟擲nullpointexception。

擴充套件屬性允許定義在類或者kotlin檔案中,不允許定義在函式中。初始化屬性因為屬性沒有backing field,所以不允許被初始化。

通常擴充套件函式或屬性定義在頂級包下,通過import匯入擴充套件的函式名進行使用。

擴充套件函式作用:簡化呼叫過程。

Kotlin 擴充套件

kotlin 可以對乙個類的屬性和方法進行擴充套件,且不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對被擴充套件的類 本身不會造成任何影響。擴充套件函式可以在已有類中新增新的方法,不會對原類做修改,擴充套件函式定義形式 fun receivertype functionname...

Kotlin 擴充套件

伴生物件的擴充套件 擴充套件的作用域 擴充套件宣告為成員 endkotlin可以對乙個類的屬性和方法進行擴充套件,且不需要繼承或使用decorator模式。擴充套件是一種靜態行為,對被擴充套件的類 本身不會造成任何影響。擴充套件函式可以在已有類中新增新的方法,不會對原類做修改,擴充套件函式定義形式 ...

(九)kotlin擴充套件

kotlin 可以對乙個類的屬性和方法進行擴充套件,且不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對被擴充套件的類 本身不會造成任何影響。擴充套件函式可以在已有類中新增新的方法,不會對原類做修改,擴充套件函式定義形式 fun receivertype functionname...