<prompt> Je, kanuni za upangaji zenye mwelekeo wa kitu kama vile ujumuishaji, urithi, na upolimishaji nyingi huboresha ukuzaji na muundo wa programu, na kutoa mifano ya matumizi yao ya ulimwengu halisi katika lugha mbalimbali za programu kama vile Java, Python, na C?  <response>: Kanuni za Uandaaji wa Malengo ya Kitu OOP ni dhana kuu katika uundaji na usanifu wa programu, na zina athari kubwa katika kuboresha ubora wa msimbo na kurahisisha kudumisha na kurekebisha. Hapa kuna kanuni muhimu za OOP na jinsi zinavyoboresha uundaji wa programu:Ujumuishaji: Kanuni hii inahusu kuficha maelezo ya ndani ya kitu na kufichua tu taarifa muhimu kwa ulimwengu wa nje. Inaruhusu kuundwa kwa vitu vya kujitegemea ambavyo ni rahisi kuelewa na kurekebisha. Ufungaji husaidia kuhakikisha kuwa vitu vinadumisha uadilifu wao na kuzuia mabadiliko yasiyotarajiwa kwa data zao.Mfano katika Java: Katika Java, usimbuaji hupatikana kwa kutumia virekebishaji vya ufikiaji vya faragha na vilivyolindwa. Kwa mfano, unaweza kuunda darasa ambalo linajumuisha data na tabia ya mteja katika mfumo wa benki kwa kuweka maelezo ya mteja jina, nambari ya akaunti, salio ya faragha, na kufichua tu mbinu muhimu za kuingiliana na data.Mfano katika Python: Katika Python, encapsulation inaweza kupatikana kwa kutumia _ single underscore au __ double underscore kabla ya jina la kutofautisha, ambayo inafanya kuwa ya faragha.Mfano katika C: Katika C, ujumuishaji unaweza kupatikana kwa kutumia virekebishaji vya ufikiaji vya kibinafsi na vilivyolindwa katika madarasa.Urithi: Kanuni hii inahusu kuunda darasa jipya kulingana na darasa lililopo na kurithi mali na tabia yake. Urithi huwezesha kutumia tena msimbo na kuruhusu urekebishaji na udumishaji wa msimbo kwa urahisi.Mfano katika Java: Katika Java, urithi unaweza kupatikana kwa kutumia neno kuu la kupanua. Kwa mfano, unaweza kuunda darasa ambalo linawakilisha Msimamizi, ambaye anarithi kutoka kwa darasa la Wafanyakazi, na kuongeza sifa mpya na tabia maalum kwa jukumu la Msimamizi.Mfano katika Python: Katika Python, urithi unaweza kupatikana kwa kubainisha darasa la mzazi katika ufafanuzi wa darasa.Mfano katika C: Katika C, urithi unaweza kupatikana kwa kutumia : koloni mwendeshaji katika ufafanuzi wa darasa.Polymorphism: Kanuni hii inahusu kuunda vitu ambavyo vinaweza kuchukua aina nyingi. Inaruhusu vitu kushughulikiwa kama vitu vya darasa la wazazi wao na kutumiwa kwa kubadilishana. Polymorphism huwezesha msimbo kuandikwa kwa njia rahisi zaidi na ya kawaida, ambayo hurahisisha kurekebisha na kudumisha.Mfano katika Java: Katika Java, upolimishaji unaweza kupatikana kwa kutumia njia ya kupitisha, ambapo subclass hutoa utekelezaji mpya wa njia katika darasa la mzazi. Hii inaruhusu vitu vya darasa ndogo kuishi tofauti na vitu vya darasa la mzazi.Mfano katika Python: Katika Python, upolimishaji unaweza kupatikana kwa kutumia chapa ya bata, ambapo aina ya kitu imedhamiriwa kulingana na njia na mali iliyo nayo, badala ya darasa lake.Mfano katika C: Katika C, upolimishaji unaweza kupatikana kwa kutumia vitendakazi dhahania, ambapo darasa la msingi hutoa mbinu pepe ambayo inaweza kubatilishwa na aina ndogo.Kwa kumalizia, kanuni hizi za OOP hutoa muundo wazi wa kuandika msimbo na kurahisisha kuelewa, kudumisha, na kurekebisha. Kwa kutumia kanuni hizi, wasanidi programu wanaweza kuunda programu za ubora wa juu, zinazoweza kudumishwa na zinazoweza kupanuka. 