Python somo la 30: Data abstraction

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:

Vipengele Muhimu vya Data Abstraction:

  1. Abstract Class:

    • Hii ni class inayojumuisha angalau abstract method moja.

    • Abstract class haiwezi kuanzishwa moja kwa moja, yaani huwezi kuunda object ya abstract class.

  2. Abstract Method:

    • Hii ni method isiyo na utekelezaji katika class ya msingi.

    • Inapaswa kufafanuliwa kwenye class zinazorithi (subclasses).

  3. 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


Hatua ya 2: Kutengeneza Abstract Class

Mfano:
class Shape(ABC):

    @abstractmethod

    def area(self):

        pass

 

    @abstractmethod

    def perimeter(self):

        pass

 

Katika code hizo tunapata kuwa:

  1. Shape ni abstract class.

  2. area na perimeter ni abstract methods (hazina utekelezaji).


 

Hatua ya 3: Kutengeneza Child Class na Kutekeleza Abstract Methods

 

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:

  1. Rectangle inatekeleza abstract methods area na perimeter.

  2. Pia, inachukua constructor (__init__) ili kuweka thamani za length na width.


 

Hatua ya 4: Kutengeneza Object Kutoka kwa Child Class

Mfano:
rect = Rectangle(5, 3)

print(f"Area: {rect.area()}")        # Output: Area: 15

print(f"Perimeter: {rect.perimeter()}")  # Output: Perimeter: 16

 


 

Ufafanuzi wa Msimbo

  1. Shape:

    • Ni abstract class inayotangaza area na perimeter kama abstract methods.

    • Inatoa kiolezo (template) kwa child classes.

  2. Rectangle:

Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu Rajabu
Tarehe: 2024-12-04 09:43:46 Topic: Python Main: Masomo File: Download PDF Views: 1103

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Dua za Mitume na Manabii     👉2 ai web app     👉3 Madrasa kiganjani     👉4 Bongolite - Game zone - Play free game     👉5 Tafasiri ya Riyadh Swalihina     👉6 Kitau cha Fiqh    

Post zinazofanana:

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 19: Aina za Function

Katika somo hili utakwend akujifunza aina mbalimbali za function ambazo tunaweza kuzitumia kwenye python.

Soma Zaidi...
Python somo la 56: Kuongeza Data Katika Database kwa Kutumia Django Admin na Django Shell

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...
Python somo la 58: Jinsi ya Kuboresha Django Admin

Katika somo hili tutajifunza mambo matatu muhimu ya kuboresha admin ya Django: Jinsi ya kubadili header za Django Admin Jinsi ya kuongeza columns zinazojitokeza kwenye admin list Jinsi ya kuweka limit ya rows zinazoonekana kwa kila ukurasa (pagination)

Soma Zaidi...
Python somo la 29: Encaosulation kwneye python

Katika somo hili utajifunza maana ya encapsulation na sheria za uandishi wake

Soma Zaidi...
Python somo la 46: Kutengeneza Fomu na Kuituma kwa Django Template

Katika somo hili utakwenda kujifunza kutengeneza htmk form pamoja na kuituma.

Soma Zaidi...