Câu hỏi phỏng vấn Kotlin
Câu hỏi

Làm thế nào để bạn tạo một singleton có tham số trong Kotlin?

Câu trả lời

Trong Kotlin, bạn không thể trực tiếp tạo một singleton có tham số vì singleton pattern đảm bảo chỉ có một instance duy nhất của một class và không cho phép constructor có tham số. Tuy nhiên, bạn có thể sử dụng một cách tiếp cận gián tiếp để đạt được điều tương tự thông qua việc sử dụng một companion object với một phương thức factory.

Dưới đây là một ví dụ về cách tạo một singleton có tham số trong Kotlin:

kotlin Copy
class Singleton private constructor(val context: Context) {
    init {
        // Khởi tạo với context ở đây
    }

    companion object {
        @Volatile private var INSTANCE: Singleton? = null

        fun getInstance(context: Context): Singleton {
            return INSTANCE ?: synchronized(this) {
                INSTANCE ?: Singleton(context).also { INSTANCE = it }
            }
        }
    }
}

Trong ví dụ trên, Singleton class có một private constructor nhận vào một tham số context. Để tạo hoặc lấy instance của Singleton, bạn sử dụng phương thức getInstance(context: Context) được định nghĩa trong compa...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Làm thế nào để chuyển đổi List thành Map trong Kotlin?

senior

Làm thế nào để tạo phương thức tĩnh cho enum trong Kotlin?

senior

Làm thế nào để tạo một thể hiện của lớp vô danh của lớp trừu tượng trong Kotlin?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào