Python somo la 30: Data abstraction
Katika somo hili utakwend akujifunz akuhusu nadharia ya data abstraction na kazi zake kwenye OOP
Data Abstraction in Python
Data Abstraction ni mchakato wa kuficha maelezo ya utekelezaji wa data huku ukitoa interface rahisi kwa mtumiaji. Hii inaruhusu kuangazia kile ambacho object inafanya badala ya jinsi inavyofanya kazi.
Jinsi Data Abstraction Inavyofanya Kazi:
-
Abstraction inalenga kuhifadhi maelezo ya ndani ya code yasionekane moja kwa moja kwa mtumiaji.
-
Hii hufanikishwa kwa kutumia abstract classes na methods ambazo hazina utekelezaji kamili katika class ya msingi (base class).
Vipengele Muhimu vya Data Abstraction:
-
Abstract Class:
-
Hii ni class inayojumuisha angalau abstract method moja.
-
Abstract class haiwezi kuanzishwa moja kwa moja, yaani huwezi kuunda object ya abstract class.
-
Abstract Method:
-
Hii ni method isiyo na utekelezaji katika class ya msingi.
-
Inapaswa kufafanuliwa kwenye class zinazorithi (subclasses).
-
Module abc:
-
Python hutumia module ya abc (Abstract Base Classes) kuunda classes za abstract na methods zake.
Hatua za Kutengeneza Abstract Class na Abstract Methods
Kabla ya kuziona hatuwa hizo kwanz anakuletea mfano ambao tutakwenda kuufanyia kazi
from abc import ABC, abstractmethod
# Abstract Class
class Shape(ABC):
@abstractmethod
def area(self):
pass
@abstractmethod
def perimeter(self):
pass
# Concrete Class
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * (self.length + self.width)
# Object creation
rect = Rectangle(5, 3)
print(f"Area: {rect.area()}") # Output: Area: 15
print(f"Perimeter: {rect.perimeter()}") # Output: Perimeter: 16
Hatua ya 1: Ku-import ABC na abstractmethod
Python hutumia moduli ya abc:
from abc import ABC, abstractmethod
-
ABC inatumika kama mzazi wa abstract class.
-
@abstractmethod ni decorator inayotangaza method kuwa abstract.
Hatua ya 2: Kutengeneza Abstract Class
-
Unda class inayorithi kutoka ABC.
-
Tangaza methods zote unazotaka kuwa abstract kwa kutumia @abstractmethod.
Mfano:
class Shape(ABC):
@abstractmethod
def area(self):
pass
@abstractmethod
def perimeter(self):
pass
Katika code hizo tunapata kuwa:
-
Shape ni abstract class.
-
area na perimeter ni abstract methods (hazina utekelezaji).
Hatua ya 3: Kutengeneza Child Class na Kutekeleza Abstract Methods
-
Unda child class inayorithi kutoka kwa abstract class.
-
Lazima child class itekeleze abstract methods zote za mzazi wake.
Mfano:
class Rectangle(Shape):
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length * self.width
def perimeter(self):
return 2 * (self.length + self.width)
Katika code hizo tunapata kuwa:
-
Rectangle inatekeleza abstract methods area na perimeter.
-
Pia, inachukua constructor
(__init__)ili kuweka thamani za length na width.
Hatua ya 4: Kutengeneza Object Kutoka kwa Child Class
-
Abstract class haiwezi kutengeneza object moja kwa moja. Object hutengenezwa kwa child class ambayo imetekeleza abstract methods.
Mfano:
rect = Rectangle(5, 3)
print(f"Area: {rect.area()}") # Output: Area: 15
print(f"Perimeter: {rect.perimeter()}") # Output: Perimeter: 16
Ufafanuzi wa Msimbo
-
Shape:
-
Ni abstract class inayotangaza area na perimeter kama abstract methods.
-
Inatoa kiolezo (template) kwa child classes.
-
Rectangle:
Umeionaje Makala hii.. ?
Share On:
π1 kitabu cha Simulizi π2 Bongolite - Game zone - Play free game π3 web hosting π4 Simulizi za Hadithi Audio π5 Tafasiri ya Riyadh Swalihina π6 Kitau cha Fiqh
Post zinazofanana:
Python seomo la 55: Kutengeneza Simple Admin Dashboard ya CRUD
Katika somo hili tutajifunza jinsi ya kuunda dashboard rahisi ndani ya Django ambayo itaruhusu mtumiaji kuongeza, kusoma, kuhariri na kufuta taarifa za MenuItem bila kutumia Django built-in admin, bali kwa kutumia HTML templates na views tulizotengeneza sisi wenyewe.
Soma Zaidi...PYTHON - somo la 4: Aina za data kwenye python
Katika somo hili utakwenda kujifunza aina za data ambazo hutumika kwenye python. hapa utajifunza aina kuu 3 za data.
Soma Zaidi...Python somo la 24: Nini maana ya Object Oriented Programming
Hapa tunakwenda kujifunza kuhusu OOP ambapo ni miongoni mwa mitindo ya uandishi wa code
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...Python somo 57: Matumizi ya Python shell
Katika somo hili, tutajifunza: Maana ya Python shell na umuhimu wake. Tofauti kati ya shell na terminal ya kawaida. Matumizi ya shell, hususan kwenye Django. Amri muhimu zaidi za Python shell, zilizotokana na models na views zako za pybongo.
Soma Zaidi...Python somo la 40: Jinsi ya Kuunda Simple Navigation Menu Katika Django
Katika somo hili utajifunza Jinsi ya Kuunda Simple Navigation Menu Katika Django kwa kutumia template
Soma Zaidi...