Kotlin Somo la 27: Polymorphism
Somo hili linaeleza dhana ya polymorphism katika OOP ya Kotlin—uwezo wa kutumia method au object moja kufanya kazi tofauti kulingana na muktadha wake. Tutajifunza aina kuu za polymorphism, jinsi ya kuandika code inayotumia override, open, super, pamoja na mifano hai.
? Utangulizi
Katika programming yenye mwelekeo wa vitu (OOP), polymorphism ni dhana muhimu inayomaanisha “uwezo wa kuwa katika maumbo mbalimbali.” Katika Kotlin, hii inamaanisha kuwa method moja inaweza kutenda kwa njia tofauti kutegemeana na context yake. Kwa mfano, class ya mzazi inaweza kuwa na method sauti(), lakini class za watoto kama Mbwa au Paka zinaweza kuifunika method hiyo kwa tabia tofauti. Polymorphism huongeza flexibility, reusability na scalability ya code katika programu kubwa.
? 1. Maana ya Polymorphism
Polymorphism ni neno la Kigiriki linalomaanisha “maumbo mengi.” Katika Kotlin, inamaanisha kuwa object au method moja inaweza kutumika kwa namna tofauti kulingana na muktadha.
Aina kuu za polymorphism:
-
Compile-time Polymorphism (Static) – kupitia method overloading
-
Run-time Polymorphism (Dynamic) – kupitia method overriding
? 2. Method Overriding (Run-time Polymorphism)
Ni pale ambapo subclass inabadilisha tabia ya method iliyo katika superclass kwa kutumia override.
Mfano:
open class Mnyama {
open fun sauti() = println("Mnyama anatoa sauti")
}
class Mbwa : Mnyama() {
override fun sauti() = println("Mbwa anabweka: Woof!")
}
class Paka : Mnyama() {
override fun sauti() = println("Paka anasema: Meow!")
}
fun toaSauti(m: Mnyama) {
m.sauti()
}
fun main() {
val mbwa = Mbwa()
val paka = Paka()
toaSauti(mbwa)
toaSauti(paka)
}
Output:
Mbwa anabweka: Woof!
Paka anasema: Meow!
✅ Hapa function
toaSauti()haitambui ni class gani – inapokeaMnyama, lakini anapotumwaMbwaauPaka, tabia hubadilika kulingana na override. Hii ndiyo polymorphism.
? 3. Method Overloading (Compile-time Polymorphism)
Ni pale ambapo method moja...
Umeionaje Makala hii.. ?
Share On:
👉1 Kitabu cha Afya 👉2 Dua za Mitume na Manabii 👉3 Bongolite - Game zone - Play free game 👉4 Sira ya Mtume Muhammad (s.a.w) 👉5 Simulizi za Hadithi Audio 👉6 Madrasa kiganjani
Post zinazofanana:
KOTLIN somo la 16:baadhi ya method na properies zinazofanya kazi kwenye string
Katika somo hili tutajifunza kuhusu method za String zinazotumika kwenye Kotlin.
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 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 4: Aina za Data kwenye Kotlin
Katika somo hili utakwenda kujifunza kuhusu aina za data zinazotumika kwenye Kotlin.
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 20: method na properties za map
Katika somo hili tutakwenda kujifunza kuhusu method ambazo hutumika kwenye map data type
Soma Zaidi...