Kotlin Somo la 26: Inheritance (Urithi)
Katika somo hili utakwend akujifunza jinsi ambavyo class moja inaweza kuriti method na properties kutoka kwenye class nyingine.
? Utangulizi
dKatika programu zinazotumia mwelekeo wa object-oriented (OOP), urithi ni kipengele kinachowezesha class moja kurithi tabia na sifa kutoka kwa class nyingine. Kotlin, kama lugha ya kisasa ya OOP, huipa kipaumbele usalama wa muundo wa code kwa kuzuia kurithiwa kiholela. Kwa hiyo, class au method haiwezi kurithiwa bila kuwekwa wazi kwa kutumia open. Katika somo hili, tutajifunza si tu kuhusu jinsi ya kuandika inheritance kwenye Kotlin, bali pia jinsi modifiers mbalimbali zinavyoathiri uwezo wa urithi au upatikanaji wa vipengele vya class.
β Maana ya Inheritance
Inheritance ni dhana ya Object-Oriented Programming (OOP) inayoruhusu class moja kurithi mali (properties) na tabia (methods) kutoka kwa class nyingine.
Kwa mfano: Kama tuna class ya
Mnyama, tunaweza kutengeneza class yaMbwaauPakainayorithi kutoka kwaMnyamabila kuandika upya kila kitu.
Supper class na subclass:
class ambayo inarithiwa huitwa parent class yaani mzazi. Hii pia huitwa supper class na class ambayo inarithi huitwa child class yaani mtoto. Hii pi huitwa subclass. Ili class iweze kuruthiwa inahitajika kuwa open yaani open class. Class inaweza kuwa open kwa kuwekewa keyword ya open.
? Lengo la Inheritance
-
Kurudia code (reusability)
-
Kupunguza makosa (less redundancy)
-
Kuweka hierarkia ya class zinazohusiana
-
Kurahisisha matengenezo na upanuzi wa programu
? Maneno Muhimu
| Kipengele | Maelezo |
|---|---|
open class |
Class inayoruhusu kurithiwa (by default class zote Kotlin ni final) |
: (colon) |
Hutumika kuonyesha urithi |
super |
Keyword ya kufikia class ya mzazi kutoka class ya mtoto |
override |
Keyword ya kuandika upya method ya mzazi kwenye mtoto |
? Muundo wa Inheritance
open class Mzazi {
fun salamu() = println("Habari kutoka kwa mzazi")
}
class Mtoto : Mzazi()
Maelezo:
-
Mzazini class ya juu (superclass au base class) -
Mtotoni class ya chini (subclass au derived class) -
Mtotoanarithi functionsalamu()kutokaMzazi
? Mfano Halisi
open class Mnyama(val jina: String) {
fun lala() = println("$jina analala")
fun kula() = println("$jina anak...Umeionaje Makala hii.. ?
Share On:
π1 Sira ya Mtume Muhammad (s.a.w) π2 Madrasa kiganjani π3 Bongolite - Game zone - Play free game π4 Simulizi za Hadithi Audio π5 web hosting π6 kitabu cha Simulizi
Post zinazofanana:
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...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 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 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.
Soma Zaidi...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.
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...