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:
-
Parent Class: Class inayorithisha properties na methods zake.
-
Child Class: Class inayorithi kutoka kwa parent class. Inaweza kuongeza au kurekebisha functionalities za parent class.
Aina za Inheritance:
-
Single Inheritance: Child class inarithi kutoka kwa parent class moja.
-
Multilevel Inheritance: Child class inarithi kutoka kwa parent class, ambayo nayo inarithi kutoka kwa parent mwingine.
-
Hierarchical Inheritance: Parent class moja inarithiwa na child classes nyingi.
-
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:
-
Matumizi Tena ya Code: Hakuna haja ya kuandika code sawa mara kwa mara.
-
Upanuzi wa Tabia: Unaweza kuongeza functionalities mpya kwenye child class bila kuharibu parent class.
-
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.
Umeionaje Makala hii.. ?
Share On:
π1 Simulizi za Hadithi Audio π2 Sira ya Mtume Muhammad (s.a.w) π3 Kitau cha Fiqh π4 Dua za Mitume na Manabii π5 Kitabu cha Afya π6 kitabu cha Simulizi
Post zinazofanana:
Python somo la 46: Kutengeneza Fomu na Kuituma kwa Django Template
Katika somo hili utakwenda kujifunza kutengeneza htmk form pamoja na kuituma.
Soma Zaidi...PYTHON - somo la 1: Jinsi ya ku install python
Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.
Soma Zaidi...PYTHON - somo la 10: string method na zinavyofanya kazi
Katika somo hili utakwenda kujfnza kuhusu string method nyinginezo. Katika somo lililopita tulijifunza kuhusu string indexing.
Soma Zaidi...PYTHON - somo la 8: method za namba zinazotumika kwenye python
Katika somo hili utakwenda kujifunza kuhusu number method yaani function zinazofanya kazi kwenye namba.
Soma Zaidi...Python somo la 39: Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Katika somo hili utakwenda kujifunza zaidi kuhusu Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Soma Zaidi...Python somo la 59: Kufanya Mahesabu (Aggregations) Katika Django
Katika somo hili tutajifunza jinsi ya kutumia Django ORM kufanya mahesabu mbalimbali kama Sum, Avg, Count, Max, Min, pamoja na kupunguza idadi ya items zinazoonekana kwenye dashboard (LIMIT). Pia tutajifunza namna ya kutengeneza βdifferenceβ kati ya thamani kubwa na ndogo bila kubadilisha functions zozote ulizokwisha ziandika.
Soma Zaidi...