Katika somo hili utakwenda kujifunza concept ya traits kwenye OOP. hii itakusaidia ku solve baadhi ya changamoto zinazotokana na inheritance
Traits ni nini?
Miongoni mwa changamoto za inheritance ni kuwa inakuwaga ni moja tu, yaani class haiwezi kurithi kutoka kwenye class zaidi ya moja. Kw alugha rahisi child class haiwezi kurithi kutoka kwenye class zaidi ya moja. Kwenye maisha ya kawaida ni sawa na kusema mtoto hawezi kuwa na mzazi zaidi ya mmoja.
Sasa hapo utaona kuna shida, ni kwa sababu mtoto ana wazazi wawili, lamda kwa Yesu, Adamu na Hawa (Eva) ila tuliobakia tuna wazazi wawili. Ukiachana na hiyo pia mtoto anaweza kuridhi baadhi ya sifa kutoka kwa mababu zake na mabibi kupitia kwa wazazi wake. Sasa concept ya inheritance itatulazimisha mtoto arithi kwa mzazi mmoja tu.
Traits itatuwezesha sasa child class ku inherit kutoka kwa class zaidi ya moja. Hivyo trait itawezesha method moja iweze kutumika kwenye class zaidi ya moja. Na method inaweza kuwa na access modifier yryote ile hata kama hiyo method ni abstract. Traits hutengenezawa kwa kutumia keyword trait
Mfano:
<?php
trait gari {
}
?>
Ili uweze kutumia trait class utatumia key word use
Mfabno:
<?php
trait gari {
public function tangazo() {
echo "Tunauza magari <br>";
}
public function mawasiliano() {
echo "Mawasiliano yetu ni : dukag@gmailcom ";
}
}
class ujumbe {
use gari;
}
class contact {
use gari;
}
$obj = new ujumbe();
$obj->tangazo();
$obj->mawasiliano();
?>
Maelezo zaidi
Hapa ni ufafanuzi wa msimbo wako:
1. Traits (gari na duka):
- Traits ni class inavyoweza kutumika upya katika PHP.
- Trait `gari` ina method moja, `tangazo1`, ambayo inachapisha ujumbe "tunauza gari aina zote."
- Trait `duka` ina method nyingine, `tangazo2`, ambayo inachapisha ujumbe "tunatengeneza gari aina zote."
2. Classes (mauzo na matengenezo):
- Class `mauzo` inatumia trait `gari` kupitia use yaani inachukua sifa na method za trait hiyo.
- Class `matengenezo` inatumia traits zote mbili, `gari` na `duka`, na hivyo inarithi sifa na method zote za hizo traits.
3. Matumizi ya Objects:
- Unajenga object la class `mauzo` na kuita method `tangazo1`, ambayo itachapisha "tunauza gari aina zote."
- Kisha, unajenga object la class `matengenezo` na kuita method `tangazo2`, ambayo itachapisha "tunatengeneza gari aina zote."
Msimbo wako unaonyesha jinsi traits zinavyoweza kutumika kuongeza sifa na method kwa classes mbalimbali bila kubadilisha urithi wa class yenyewe.&nbs">...
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Share On:
Katika somo hili utakwenda kujifunza jinsi ya kuandika function yako mwenyewe yaani user defined function
Soma Zaidi...Viazi mbatata ni katika vyakula ambavyo hupatikana karibia dunia yote. Viazi hivi vimekuwa ni lishe kubwa sana. Ila je unajuwa hasa ni faida gani za kiafya hupatikana kwenye viazi hivi?
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutengeneza class na object. Tunakwenda kutumia mfano wetu wa hapo juu kwa ajili ya kukamilisha somo hili.
Soma Zaidi...Katika somo hili utakwend akujifunza kuhusu server variables
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia constatnt kwenye class.
Soma Zaidi...Katika somo hili utakwenda kujifunza Jinsi ya kutumia ORM kwa kutumia library ya RedBeanPHP
Soma Zaidi...Katika somo hili utakwenda kujifunza aina za data ambazo hutumika kwenye PHP
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kutumia PDO kutengeneza database, kuteneneza table na kuingiza data moja na zaidi ya moja.
Soma Zaidi...Katika somo hii utakwenda kujifunza aina za http header na server variable. Hapa tutakwenda kuchambuwa mgawanyiko wa httpheader na kazi zake.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kusoma data kwenye database kwa kutumia PDO.
Soma Zaidi...