Katika somo hili utakwenda kujifunz amaana ya inheritance na sheria za kuiandika inheritance.
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.
Parent Class: Class inayorithisha properties na methods zake.
Child Class: Class inayorithi kutoka kwa parent class. Inaweza kuongeza au kurekebisha functionalities za parent class.
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.
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.
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
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
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.
Inatumika kwenye child class kuita methods za parent class, hasa constructor __init__.
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
Umeionaje Makala hii.. ?
Katika somo hili utakwend akujifunza jinsi ya kucheza na data kuzibadili kwa namna mbali mbali kwenye template
Soma Zaidi...Katika somo hili tutajifunza njia mbili muhimu za kuongeza data kwenye database katika project yetu ya pybongo (app: menu). Njia hizi ni: Kutumia Django Admin Kutumia Django Shell Utafahamu pia jinsi ya kusajili models kwenye admin, jinsi ya kuingia admin panel, na namna ya kutengeneza entries mpya za MenuItem.
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya kubadili ukurasa wa landing page wa Django na kuweka ukurasa tunaoutaka sisi.
Soma Zaidi...Katika somo hili utakwenda kujifunza aina za data ambazo hutumika kwenye python. hapa utajifunza aina kuu 3 za data.
Soma Zaidi...Katika somo hili utajifunza maana ya polymorphism na sheria za uandishi wake
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhusu number method yaani function zinazofanya kazi kwenye namba.
Soma Zaidi...Katika somo hili tutajifunza: Tofauti kati ya hashing na encryption Jinsi ya kufunga packages muhimu Jinsi ya kufanya hashing kwa maneno ya kawaida (mfano βbongoclassβ) Jinsi ya kufanya encryption na decrypt kutumia Fernet Jinsi Django inahash password kupitia User model Mazoezi ya vitendo
Soma Zaidi...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...Katika somo hili utakwend akujifunza ktengeneza model kwa ajili ya database table ya menu yetu.
Soma Zaidi...Katika soo hili utakwenda kujifunza jinsi ya kubaduli aina moja ya data kwena aina nyingine. Kwa mfano unaweza kubadili namba kuwa string ama kubadili string kuwa nanda ama kubadili float kuwa int.
Soma Zaidi...