Utangulizi wa Object-Oriented Programming (OOP) katika Kotlin

OOP ni Nini?

OOP ni kifupisho cha Object-Oriented Programming, yaani "Uprogramu unaoegemea kwa vitu." Ni programming paradigm (mtindo wa uprogramu) unaolenga kutumia vitu halisi kama mfano wa kushughulikia data na tabia zao. Vitu hivyo huitwa objects.

Kama ilivyo kwa lugha ya Python, Kotlin pia ni lugha ya programu inayounga mkono kikamilifu OOP. Hii inamaanisha unaweza kutumia class, object, inheritance, encapsulation, polymorphism na abstraction katika Kotlin.


 

Paradigm Nyingine Mbali na OOP

Kabla ya kuingia ndani ya OOP, ni muhimu kufahamu kuwa kuna mitindo mingine ya uandishi wa programu:

  1. Imperative Programming – Uandishi wa hatua kwa hatua ("step-by-step instructions").

  2. Declarative Programming – Elezea nini kifanyike bila kueleza jinsi ya kukifanya.

  3. Procedural Programming – Kutumia functions au procedures kupanga code.

  4. Functional Programming – Kuweka msisitizo kwa functions zisizobadilika na zenye matokeo thabiti (pure functions).


 

Misingi ya OOP (OOP Principles)

OOP inajengwa juu ya dhana kuu sita:

1. Class

Ni kiolezo (template) cha kuunda object. Class huelezea sifa (properties) na tabia (methods) za object.

class Gari(val jina: String, val rangi: String) {
    fun honi() {
        println("Beep Beep!")
    }
}

2. Object

Ni mfano halisi (instance) wa class.

val gari1 = Gari("Toyota", "Nyekundu")
gari1.honi()

3. Encapsulation

Ni kuficha maelezo ya ndani ya object na kudhibiti upatikanaji wake kwa kutumia getters na setters.

class Simu(private var namba: String) {
    fun pataNamba() = namba
}

4. Inheritance

Ni uwezo wa class kurithi tabia na sifa kutoka class nyingine.

open class Mnyama {
    fun lala() = println("Mnyama analala")
}

class Mbwa : Mnyama()

5. Polymorphism

Ni uwezo wa kutumia jina moja kwa method ambayo inaweza kufanya kazi tofauti kulingana na muktadha.

open class Mfanyakazi {
    open fun fanyaKazi() = println("Anafanya kazi")
}

class Fundi : Mfanyakazi() {
    override fun fanyaKazi() = println("Anarekebisha mashine")
}

6. Abstraction

Ni kuficha maelezo yasiyo muhimu na kuonyesha tu mambo muhimu.

abstract class Kifaa {
    abstract fun anzisha()
}

class Kompyuta : Kifaa() {
    override fun anzisha() = println("Kompyuta inawaka")
}

 

Faida za Kutumia OOP


 

Maneno Muhimu ya OOP

Kipengele Maelezo
class Kiolezo cha kuunda object
object Mfano halisi wa class
property Variable ndani ya class inayowakilisha sifa
method Function ndani ya class inayowakilisha tabia
constructor Njia ya kuanzisha object kwa kutoa thamani kwa properties

Mfano Halisi Katika Kotlin

class Mwanafunzi(val jina: String, val daraja: String) {
    fun salamu() {
        println("Habari, mimi ni $jina kutoka $daraja")
    }
}

fun main() {
    val m1 = Mwanafunzi("Asha", "Darasa la 6")
    m1.salamu()
}

? Output:
Habari, mimi ni Asha kutoka Darasa la 6


Hitimisho

Object-Oriented Programming ni msingi muhimu wa ujenzi wa programu kubwa, zinazoweza kudumu, na rahisi kutunza. Kwa kutumia OOP katika Kotlin, unaweza kuandika programu zilizo safi, zenye kupangika vizuri, na rahisi kushirikiana na wengine.