了解Kotlin的擴充套件

2021-10-08 05:32:04 字數 1311 閱讀 1889

kotlin的擴充套件就是在在已有類的基礎上新增屬性和方法

常見的新增屬性和方法有繼承裝飾

//繼承

open

class car

class audi:

car(

)//裝飾j

class dazhong

擴充套件方法(注意後面都是基於該類的)

class

student

(var name: string)

companion

object

}fun student.

eat(

)

在main函式裡面可以直接呼叫

fun

main()

擴充套件屬性由於擴充套件屬性沒有backong field 所以擴充套件屬性不能存值 也不能初始化,只能新增相應的set和get方法(val屬性只能用get方法,var屬性set和get都可以用)

//擴充套件屬性

val student.grade: int

get()

var student.score:float

get()

=86.4f

set(value)

然後我們就可以呼叫該擴充套件的屬性

fun

main()

執行結果:

同理靜態擴充套件方法和屬性需要用伴生修飾

/新增靜態方法和屬性

執行以及相應結果:

當類裡面的方法和和擴充套件方法相同的時候會優先呼叫類裡面的方法

fun student.

work()

fun

main()

kotlin 擴充套件

kotlin允許擴充套件類的屬性和方法,不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對被擴充套件的類 本身不會造成任何影響。擴充套件函式定義形式 fun receivertype functionname params 其中,receivertype 為待擴充套件的類名,修飾...

Kotlin 擴充套件

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

Kotlin 擴充套件

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