Katika somo hili utakwend akujifunz akuhusu nadharia ya data abstraction na kazi zake kwenye OOP
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.
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).
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.
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
class Shape(ABC):
@abstractmethod
def area(self):
pass
@abstractmethod
def perimeter(self):
pass
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)
(__init__)
ili kuweka thamani za length na width.rect = Rectangle(5, 3)
print(f"Area: {rect.area()}") # Output: Area: 15
print(f"Perimeter: {rect.perimeter()}") # Output: Perimeter: 16
Jifunze zaidi, na wasiliana nasi ukiwa na App yetu. Bofya link hapo chini kuweza kuipakua.
Download NowUmeionaje Makala hii.. ?
Katika somo hili tutakwenda kujifunza kuhusu string indexing. Kama tulivyojifunza kuhusu namba katika somo lililopita, basi hapa tutakwenda kucheza na string.
Soma Zaidi...Katika somo hili utakwend akujifunza aina mbalimbali za function ambazo tunaweza kuzitumia kwenye python.
Soma Zaidi...Katika somo hili utakwenda kujfnza kuhusu string method nyinginezo. Katika somo lililopita tulijifunza kuhusu string indexing.
Soma Zaidi...Katika somo hili utakwend akujifunz amaana ya module, kazi zake, aina zake na jinsi ya kuandika modile
Soma Zaidi...Katika somo hili utakwenda kujifunz ajinsi ya kusoma mafaili na mitindo mbalimbali ya kusoma data
Soma Zaidi...Katika somo hili utakwend akujifunz ajinsi ya kutumia html kwneye python
Soma Zaidi...Katika somo hili utajifunza maana ya polymorphism na sheria za uandishi wake
Soma Zaidi...Katika somo hili utajifunza kuhusu maana ya python na kazi zake. pia jinsi ya kuandaa kifaa chako kwa ajili ya somo.
Soma Zaidi...Hapa utajifunza maana ya library, kazi zake aina zake na jinsi ya ku install lirary
Soma Zaidi...Katika somo hili utakwenda kujifunza syntaxy za python yaani sheria na kanuni za kuandika code za python
Soma Zaidi...