Kotlin用物件宣告來實現單例模式

2021-10-08 21:44:47 字數 582 閱讀 1464

在kotlin中, 定義單例將是一件十份簡單的事。下面就是kotlin下定義的單例:

object dataprovidermanager 

val alldataproviders: collection

get()=

// ...

}

這叫物件宣告,它通過有乙個名稱跟在關鍵字object,有點像變數宣告。物件宣告不是乙個表示式,因此不能將它用在賦值語句的右邊。物件宣告的初始化是執行緒安全,並且是第一次訪問時完成的。為了引用這個物件,我們可以直接用它的名稱:

dataprovidermanager.

registerdataprovider(..

.)

物件宣告也可以有超型別,如:

object defaultlistener :

mouseadapter()

override

funmouseentered

(e: mouseevent)

}

(十三)kotlin物件表示式和物件宣告

kotlin 用物件表示式和物件宣告來實現建立乙個對某個類做了輕微改動的類的物件,且不需要去宣告乙個新的子類。通過物件表示式實現乙個匿名內部類的物件用於方法的引數中 window addmouselistener object mouseadapter override fun mouseenter...

使用Delphi物件(宣告 例項化 構造 釋放)

一 宣告和例項化 在使用乙個物件之前,用class關鍵字宣告乙個物件。可以在乙個程式或單元的type部分宣告乙個物件型別 type tfooobject class 除了宣告乙個物件型別,通常還需要乙個物件的變數,即例項。例項定義在var部分 var fooobject tfooobject 在de...

用父類宣告物件和用子類宣告物件

class father class son extends father class test 首先都是訪問本身類的東西 方法與屬性 的.父類定義就呼叫父類的,子類定義的話就呼叫子類的 當乙個父類定義的變數引用乙個子類例項時,呼叫乙個方法時,這個方法將會呼叫子類,因為方法被覆蓋.情況就特殊在父類定...