picha

Kotlin Somo la 31: Objects na Companion Objects

Somo hili linaeleza matumizi ya objects na companion objects katika Kotlin. Tutajifunza tofauti kati ya object na class ya kawaida, faida za singleton pattern, na jinsi ya kutumia companion kama mbadala wa static members katika Java.

Utangulizi

Katika lugha ya Java, tunatumia static kuunda method au property inayohusiana na class nzima badala ya object.
Lakini Kotlin haina neno kuu static, badala yake inatumia:

  1. Object Declaration → hutengeneza singleton.

  2. Companion Object → hutoa static-like members ndani ya class.


📚 1. Object Declaration (Singletons)

Object declaration hutumika kuunda class moja tu yenye instance moja.
Mfano:

object Database {
    val url = "jdbc:mysql://localhost:3306/mydb"
    fun connect() {
        println("Umeunganishwa na database kwa URL: $url")
    }
}

fun main() {
    Database.connect()
}

➡️ Database hapa ni singleton – kuna instance moja tu wakati wote wa program.


📚 2. Object Expressions (Anonymous Objects)

Hizi hutumika kutengeneza object ya muda (anonymous) bila kuunda class.
Mfano:

fun main() {
    val listener = object {
        val id = 1
        fun onClick() = println("Button imebonyezwa!")
    }

    listener.onClick()
}

➡️ Hii ni sawa na kuunda class ndogo haraka kwa matumizi ya muda mfupi.


📚 3. Companion Objects

Companion Object ni object maalum ndani ya class ambayo hufanya kazi kama static members.

class User(val name: String) {
    companion object {
        fun createDefault(): User {
            return User("Mgeni")
        }
    }
}

fun main() {
    val u1 = User("Ali")
    val u2 = User.createDefault()

    println(u1.name) // Ali
    println(u2.name) // Mgeni
}

➡️ createDefault() inaweza kupatikana moja kwa moja kupitia User.createDefault() bila kuunda object mpya.


📚 4. Companion Objects with Factory Pattern

Companion objects mara nyingi hutumika kutengeneza factory methods.

class Account(val id: Int, val balance: Double) {
    companion object Factory {
        fun create(id: Int): Account {
            return Account(id, 0.0)
        }
    }
}

fun main() {
    val acc = Account.create(101)
    println("Akaunti mpya: id=${acc.id}, salio=${acc.balance}")
}

➡️ Hapa tumetumia companion object kwa kutengeneza akaunti mpya kwa njia rahisi.


📚 5. Companion Objects na Constants

Badala ya kuunda static final kama Java, tunatumia const val ndani ya companion object.

class Config {
    companion object {
        const val VERSION = "1.0.0"
    }
}

fun main() {
    println(Config.VERSION) // 1.0.0
}

📘 6. Ulinganisho wa Object na Companion Object

Kipengele Object Declaration Companion Object
Instance Singleton ya class nzima Static-like members ndani ya class
Matumizi Global utilities (mfano: Database, Logger) Factory methods, constants, helpers
Upatikanaji Moja kwa moja: Database.connect() Kupitia class: User.createDefault()

✅ 7. Faida za Kutumia Objects na Companion Objects


🔚 Hitimisho

Kotlin inatoa njia mbili kuu za kushughulika na members ambazo hazihusiani moja kwa moja na object:

Hii hufanya code iwe safi, rahisi, na salama dhidi ya makosa ya multiple instances.

Jiunge nasi WhatsApp kupata update zetu

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 1970-01-01 03:33:45 Topic: Kotlin Main: ICT File: Download PDF Views 253

Share On:

Facebook WhatsApp
Sponsored links
👉1 Sira ya Mtume Muhammad (s.a.w)    👉2 Kitabu cha Afya    👉3 Madrasa kiganjani    👉4 Dua za Mitume na Manabii    👉5 kitabu cha Simulizi    👉6 Simulizi za Hadithi Audio   

Post zinazofanana:

KOTLIN somo la 3: Jinsi ya kuandika variable

Katika somo hili utakwend akujifunza jinsi ya kuandika variable kweye Kotlin. pia utakwenda kujifunza kuhusu concatnation na interpolation

Soma Zaidi...
KOTLIN somo la 19: method na properties zinazotumika kwenye set

Katika somo hili tutakwenda kujifunza kuhusu set data type pamoja na method ambazo hufanya kazi kwenye set.

Soma Zaidi...
Kotlin Somo la 32: Utangulizi wa Database na MySQL

Somo hili linaeleza msingi wa database, kwa nini tunazitumia, aina za database, na utangulizi wa MySQL. Pia tutaona jinsi Kotlin inaweza kuunganishwa na MySQL kwa ajili ya kutekeleza CRUD operations (Create, Read, Update, Delete).

Soma Zaidi...
KOTLIN somo la 12: Jinsi ya kupata user input

Jinsi ya kuchukuwa user input kwenye Kotlin kwa ajili ya kuongeza user interaction kwenye program.

Soma Zaidi...
KOTLIN somo la 4: Aina za Data kwenye Kotlin

Katika somo hili utakwenda kujifunza kuhusu aina za data zinazotumika kwenye Kotlin.

Soma Zaidi...
KOTLIN somo la 15: ainza za parameter kwenye function

Katika somo hili tutakwenda kuzungumzia kuhusu parameter kwenye Kotlin function. Pia tutakwenda kuona mambo mengine yanayohusu function

Soma Zaidi...
KOTLIN somo la 18: string na method zinazotumika kwenye list data type.

Katika somo hili tutajifunza method zinazofanya kazi kwenye list data type kwenye Kotlin.

Soma Zaidi...
KOTLIN somo la 20: method na properties za map

Katika somo hili tutakwenda kujifunza kuhusu method ambazo hutumika kwenye map data type

Soma Zaidi...
Kotlin somo la 25: Nadharia ya Object Oriented Programming

Katika somo hili utakwenda kujifunza maana na features za object oriented Programming

Soma Zaidi...
KOTLIN somo la 13: Jinsi ya kuandika function na kuweka parameter

Katika somo hili utakwend akujifunza maana ya function, jinsi ya kuandika function na kuweka parameter kwenye function

Soma Zaidi...