picha

Python somo la 28: inheritance kwenye OOP

Katika somo hili utakwenda kujifunz amaana ya inheritance na sheria za kuiandika inheritance.

Inheritance in Python

Inheritance ni dhana inayoruhusu class moja (child class) kurithi sifa (properties) na tabia (methods) kutoka kwa class nyingine (parent class). Hii hurahisisha matumizi tena ya code na kuwezesha kuongeza vipengele bila kuharibu class asilia. Class inayorithiwa huitwa parent class yaani mzazi na class inayorithi huitwa child class yaani mtoto.

 


 

Vipengele Muhimu vya Inheritance:

  1. Parent Class: Class inayorithisha properties na methods zake.

  2. Child Class: Class inayorithi kutoka kwa parent class. Inaweza kuongeza au kurekebisha functionalities za parent class.

 


 

Aina za Inheritance:

  1. Single Inheritance: Child class inarithi kutoka kwa parent class moja.

  2. Multilevel Inheritance: Child class inarithi kutoka kwa parent class, ambayo nayo inarithi kutoka kwa parent mwingine.

  3. Hierarchical Inheritance: Parent class moja inarithiwa na child classes nyingi.

  4. Multiple Inheritance: Child class inarithi kutoka kwa parent classes zaidi ya moja.

 


 

 

Mfano wa Single Inheritance:

Ili kuweza kurithi kutoka kwenye parent class, tutaweka jins la class inayorithiwa  wwakati kunapotengeneza child class. Mfano kama parent class ni Animal na tukataka kuandika child class tutaandika hivi Dog(Animal)

Mfano:

class Animal:

    def speak(self):

        print("This animal speaks.")

 

class Dog(Animal):

    def bark(self):

        print("Woof! Woof!")

 

# Object creation

dog = Dog()

dog.speak()  # Method kutoka parent class

dog.bark()   # Method ya child class

 

Hapa, Dog ni child class inayorithi method speak() kutoka Animal.

 


 

Mfano wa Multilevel Inheritance:

class Animal:

    def speak(self):

        print("This animal speaks.")

 

class Mammal(Animal):

    def walk(self):

        print("This mammal walks.")

 

class Dog(Mammal):

    def bark(self):

        print("Woof! Woof!")

 

# Object creation

dog = Dog()

dog.speak()  # Method kutoka Animal

dog.walk()   # Method kutoka Mammal

dog.bark()   # Method ya Dog

 

 

 


 

Multiple Inheritance:

class Animal:

    def speak(self):

        print("This animal speaks.")

 

class Pet:

    def is_pet(self):

        print("This is a pet.")

 

class Dog(Animal, Pet):

    def bark(self):

        print("Woof! Woof!")

 

# Object creation

dog = Dog()

dog.speak()  # Method kutoka Animal

dog.is_pet() # Method kutoka Pet

dog.bark()   # Method ya Dog

 

 

 


 

Faida za Inheritance:

  1. Matumizi Tena ya Code: Hakuna haja ya kuandika code sawa mara kwa mara.

  2. Upanuzi wa Tabia: Unaweza kuongeza functionalities mpya kwenye child class bila kuharibu parent class.

  3. Kuonyesha Mahusiano Halisi: Inaonyesha urithi wa kihierarkia (Hierarchical Inheritance) wa tabia za vitu halisi.

 

Matumizi ya "super()" Keyword:

Inatumika kwenye child class kuita methods za parent class, hasa constructor __init__.

Mfano:

 

class Animal:

    def __init__(self, name):

        self.name = name

 

class Dog(Animal):

    def __init__(self, name, breed):

        super().__init__(name)  # Kuita constructor ya parent

        self.breed = breed

 

dog = Dog("Buddy", "Golden Retriever")

print(f"{dog.name} is a {dog.breed}.")

 

 


 

Inheritance hutoa nguvu kubwa ya kuunda code inayoweza kutumiwa tena na inayoweza kupanuliwa kwa urahisi.

 

Jiunge nasi WhatsApp kupata update zetu

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

Nzuri            Mbaya            Save
Author: Rajabu image Tarehe: 2024-12-03 Topic: Python Main: ICT File: Download PDF Views 658

Share On:

Facebook WhatsApp
Sponsored links
👉1 Sira ya Mtume Muhammad (s.a.w)    👉2 ai web app    👉3 Kitabu cha Afya    👉4 Dua za Mitume na Manabii    👉5 kitabu cha Simulizi    👉6 web hosting   

Post zinazofanana:

Python somo la 20: Aina za parameter kwenye function

Katika somo hili tutakwend akujifunza kwa urefu zaidi kuhusu parameter ambazo hutumika kwenye functions

Soma Zaidi...
Python somo la 49: Jinsi ya ku host project ya Django

Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.

Soma Zaidi...
Python somo la 61: Jinsi ya kutuma email kwenye django

Katika maeneo ya development, tunahitaji kutuma email mara nyingi kwa madhumuni ya: Kujaribu mfumo wa OTP Password reset System notifications Activation codes Lakini mara nyingi hatutaki emails ziondoke kwenda kwa watu halisi wakati bado tupo kwenye majaribio.

Soma Zaidi...
Python somo la 18: Jinsi ya kuandika function

Katika somo hili utakwend akujifunza jinsi ya kuandika function, kuweka parameter na kuitumia function

Soma Zaidi...
Python somo la 43: Kutuma Data kutoka View kwenda Template katika Django

Katika somo hili uatajifunza jinsi gani unaweza kutumia view kma logic kuuma data kwenye template

Soma Zaidi...
Python somo la 53: Kutengeneza HTML Form na Django View kwa ajili ya kuingiza data

Katika somo hili tutaangalia jinsi ya kutengeneza fomu ya HTML kwa ajili ya kuingiza data kwenye jedwali la MenuItem, pamoja na kutengeneza view itakayopokea data hiyo na kuihifadhi kwenye database. Pia tutaunganisha form na URL route.

Soma Zaidi...
Python somo la 52: Kutengeneza table na kufanya Migrations Katika Django

Katika somo hili tutajifunza jinsi Django hutumia migrations kuunda na kubadilisha tables kwenye database kulingana na models tunazoandika. Tutapitia maana ya migration, hatua za kuitumia, umuhimu wake, misingi ya makemigrations na migrate, pamoja na mfano halisi kutoka kwenye project yetu ya pybongo (app: menu).

Soma Zaidi...
Python somo la 42: Template tag

Katika somo hili utakwenda kujifunza kuhsu Template Tag nini na kazi zake. Pia utajifunza sheria za uandishi wake.

Soma Zaidi...
Python somo la 47: Jinsi ya kupokea na kuchakata fomu

Katika somo hili utakwend akujifunza jinsi ya kupokea na kuchakata fomu

Soma Zaidi...
Python somo la 51: Jinsi ya kutengeneza Model ya menu

Katika somo hili utakwend akujifunza ktengeneza model kwa ajili ya database table ya menu yetu.

Soma Zaidi...