Kotlin Somo la 30: Data Classes

Somo hili linaeleza maana ya data classes katika Kotlin, kwa nini zipo, jinsi ya kuzitumia, sifa zake, pamoja na mifano ya vitendo. Pia tutajifunza tofauti kati ya class ya kawaida na data class.

Utangulizi

Katika programu nyingi tunahitaji kuhifadhi data (mfano: jina la mwanafunzi, idadi ya bidhaa, n.k.).
Kotlin inatoa data class ambayo ni class maalum kwa lengo la kushughulikia data na hutupunguzia kuandika code nyingi (boilerplate code).

Badala ya kuandika equals(), hashCode(), toString() au copy() kwa mikono, Kotlin hufanya yote hayo moja kwa moja tunapotumia data class.


📚 1. Sifa Kuu za Data Classes

Ili class iwe data class, lazima:

  1. Itangazwe kwa kutumia neno kuu data.

  2. Iwe na angalau property moja katika constructor kuu (primary constructor).

  3. Property kuu ziwe val au var.

Mfano:

data class Mwanafunzi(val jina: String, val umri: Int)

📘 2. Faida za Data Classes

Data classes huja na hizi function muhimu automatically:


📘 3. Mfano wa Msingi

data class Bidhaa(val jina: String, val bei: Double)

fun main() {
    val b1 = Bidhaa("Kitabu", 12.5)
    val b2 = Bidhaa("Kitabu", 12.5)

    println(b1)  // Bidhaa(jina=Kitabu, bei=12.5)

    println(b1 == b2)  // true (kwa sababu equals imeundwa ki-automatic)

    val b3 = b1.copy(bei = 15.0)
    println(b3)  // Bidhaa(jina=Kitabu, bei=15.0)
}

➡️ Hapa tunaona jinsi toString, equals, na copy zinavyotumika bila sisi kuziandika.


📘 4. Destructuring Declaration

Data class hutoa componentN() functions kwa properties zake.

data class Point(val x: Int, val y: Int)

fun main() {
    val p = Point(10, 20)
    val (a, b) = p  // destructuring
    println("x = $a, y = $b")
}

Matokeo:

x = 10, y = 20

📘 5. Tofauti na Class ya Kawaida

class Mtu(val jina: String, val umri: Int)

data class MtuData(val jina: String, val umri: Int)

fun main() {
    val c1 = Mtu("Ali", 20)
    val c2 = Mtu("Ali", 20)
    println(c1 == c2)   // false (linganisho la reference)

    val d1 = MtuData("Ali", 20)
    val d2 = MtuData("Ali", 20)
    println(d1 == d2)   // true (linganisho la content)
}

➡️ Class ya kawaida inalinganisha reference tu,
➡️ Data class inalinganisha maudhui ya properties.


📘 6. Data Class na copy()

data class Akaunti(val id: Int, var salio: Double)

fun main() {
    val a1 = Akaunti(101, 2000.0)
    val a2 = a1.copy(salio = 5000.0)
    println(a1) // Akaunti(id=101, salio=2000.0)
    println(a2) // Akaunti(id=101, salio=5000.0)
}

➡️ copy() huruhusu kubadilisha property moja tu bila kuandika upya object nzima.


📘 7. Vikwazo vya Data Classes


✅ 8. Faida Kuu kwa Developer


🔚 Hitimisho

Data classes ni njia rahisi na yenye nguvu ya kushughulikia data katika Kotlin. Zinaondoa kero ya kuandika equals, hashCode, toString, na copy. Hivyo ni bora sana katika mifumo ya modeling data, kama vile mifumo ya database, API responses, au data transfer objects (DTOs).

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 170

Share On:

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

Post zinazofanana:

KOTLIN somo la 1: Historia ya kotlin na kazi zake

Katika somo hili utajifunza kuhusu historia ya Kotlin pamoja na kazi za kotlin. Pia utakwenda kujifunza kuhusu uhusiano wake na java.

Soma Zaidi...
Kotlin Somo la 29: Encapsulation

Somo hili linafafanua dhana ya Encapsulation katika OOP, matumizi yake ndani ya Kotlin, pamoja na modifiers mbalimbali (private, protected, internal, public). Pia tutajifunza kwa mifano jinsi encapsulation inavyosaidia kulinda data na kudhibiti ufikivu.

Soma Zaidi...
Kotlin somo la 22: Package kenye kotlin

Katika somo hili utakwend akujifunza kuhusu nadharia ya package, kazi zake, aina zake na jinsi zinavyotumika

Soma Zaidi...
KOTLIN somo la 11:Jinsi ya kutumia break na continue kwenye loop

Katika somo hili utakwenda kujifunza kuhusu break na continue kwenye Kotlin loop za for loop na while loop.

Soma Zaidi...
KOTLIN somo la 17: method na properties za namba

Katika somo hili tutajifunza kuhusu method na properties za Kotlin zinazofanya kazi kwenye namba.

Soma Zaidi...
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.

Soma Zaidi...
HOTLIN somo la 9: Jinsi ya kutumia for loop

Katika somo hli utakwend akujifunza kuhusu loop kwenye kOTLIN. Loop zimegawanyika katika makundi mnne ambayo ni for loop, while loop, for in loop na do while loop.

Soma Zaidi...
KOTLIN somo la 6: string kwenye Kotlin

Katika somo hili tutakwenda kujifunza jinsi ya kushughulika na string kwenye Kotlin.

Soma Zaidi...
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 21: Jinsi ta kutengeneza library

Katika somo hili utajifunza kuhusu Kotlin library. Pia tutakwenda kutengeneza library yetu wenyewe kwa ajili ya kufanya mazoezi zaidi.

Soma Zaidi...