picha

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.

Sawa, tuendelee! Hapa kuna Somo la 29: Encapsulation katika Kotlin, likiandikwa kwa mtindo wa kitaaluma na wenye mifano mingi.


๐Ÿ“˜ Kotlin Somo la 29: Encapsulation

Utangulizi

Moja ya nguzo kuu za Object-Oriented Programming (OOP) ni Encapsulation.
Encapsulation ni kufunga data na tabia zake ndani ya class, kisha kudhibiti ufikivu wake kutoka nje ya class.

Mfano halisi: Fikiria benki. Mteja ana account yake, lakini hawezi kuingilia jinsi benki inavyohifadhi au kushughulikia data za account. Ana interface ndogo tu ya kuingiza na kutoa pesa. Huu ndio mfano bora wa encapsulation.


๐Ÿ“š 1. Maana ya Encapsulation


๐Ÿ“˜ 2. Access Modifiers katika Kotlin

Kotlin ina modifiers ambazo zinasaidia kufanikisha encapsulation.

Modifier Maelezo
public Default. Inapatikana kila mahali.
private Inapatikana ndani ya class au file pekee.
protected Inapatikana ndani ya class na subclasses zake.
internal Inapatikana ndani ya module moja tu.

๐Ÿ“˜ 3. Mfano wa Encapsulation

๐Ÿ”ง Mfano wa kutumia private property na getters/setters:

class AkauntiBenk(private var salio: Double) {

    fun wekaPesa(kiasi: Double) {
        if (kiasi > 0) {
            salio += kiasi
            println("Umeweka $kiasi. Salio jipya: $salio")
        } else {
            println("Kiasi lazima kiwe chanya!")
        }
    }

    fun toaPesa(kiasi: Double) {
        if (kiasi > 0 && kiasi <= salio) {
            salio -= kiasi
            println("Umetoa $kiasi. Salio jipya: $salio")
        } else {
            println("Muamala umekataliwa. Salio halitoshi!")
        }
    }

    fun angaliaSalio() = println("Salio lako ni: $salio")
}

fun main() {
    val account = AkauntiBenk(1000.0)
    account.angaliaSalio()
    account.wekaPesa(500.0)
    account.toaPesa(300.0)
    // account.salio = -200.0 โŒ hairuhusiwi moja kwa moja
}

โžก๏ธ Hapa salio ni private ili kulinda data. Mtumiaji hawezi kulibadilisha moja kwa moja, lazima apitie methods maalum.


๐Ÿ“˜ 4. Kutumia protected na internal

open class Mfanyakazi(protected val jina: String) {
    fun onyeshaJina() = println("Mimi ni $jina")
}

class Meneja(jina: String) : Mfanyakazi(jina) {
    fun pangaKazi() = println("Meneja $jina anapanga kazi")
}

internal class Idara(val id: Int)

โžก๏ธ protected inaruhusu subclass kutumia jina.
โžก๏ธ internal inamaanisha Idara inapatikana ndani ya module moja tu.


๐Ÿ“˜ 5. Getters na Setters kwa Properties

Kotlin inaruhusu kutumia custom getters/setters:

class Mwanafunzi {
    var jina: String = "Haijulikani"
        get() = field.uppercase()
        set(value) {
            if (value.isNotBlank()) field = value
        }
}

fun main() {
    val s = Mwanafunzi()
    s.jina = "Aisha"
    println(s.jina)  // AISHA
}

โžก๏ธ Getter hubadilisha jina kuwa uppercase.
โžก๏ธ Setter inakataza jina tupu.


โœ… 6. Faida za Encapsulation


๐Ÿ”š Hitimisho

Encapsulation ni nguzo muhimu ya OOP inayowezesha usalama wa data, modularity na urahisi wa kudumisha code. Kwa kutumia modifiers, pamoja na getters/setters, Kotlin inatoa njia rahisi ya kufanikisha encapsulation bila mbwembwe nyingi.asses?

Jiunge nasi WhatsApp kupata update zetu

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 2025-08-28 Topic: Kotlin Main: ICT File: Download PDF Views 307

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
๐Ÿ‘‰1 Kitabu cha Afya    ๐Ÿ‘‰2 Dua za Mitume na Manabii    ๐Ÿ‘‰3 Simulizi za Hadithi Audio    ๐Ÿ‘‰4 Tafasiri ya Riyadh Swalihina    ๐Ÿ‘‰5 kitabu cha Simulizi    ๐Ÿ‘‰6 Sira ya Mtume Muhammad (s.a.w)   

Post zinazofanana:

KOTLIN somo la 6: string kwenye Kotlin

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

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 26: Dhana ya class, object na method kwenye kotlin

Katika soomo hili utakwenda kujifunza kuhusu class, maana yake, na jinsi ya kuitengeneza

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 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 8: Jinsi ya kutumia when

Katika somo hili utakwenda kujifunza kuhusu when case na jinsi inavyofanya kazi kwenye Kotlin.

Soma Zaidi...
KOTLIN somo la 7: Jinsi ya kutumia If na ifelse kwenye Kotlin

Katika somo hili utakwenda kujifunza kuhusu namna ambavyo program inaweza kufanya maamuzi kulingana na mashart fulani.ama namna ambavyo program inaweza ku run code zaii ya mara moja kulingana na mashart. Hapa tutazingumzia flow of control statement

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