picha

Python somo la 29: Encaosulation kwneye python

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

Encapsulation kwenye pyton

 


 

1. Encapsulation ni nini?

Encapsulation ni dhana ya kuficha data ya ndani ya object ili isiweze kufikiwa moja kwa moja kutoka nje ya class.

 


 

2. Kwanini Tunahitaji Encapsulation?

 


 

3. Viwango vya Ufikiaji (Access Levels)

Ili kufanikisha encapsulation, tunatumia viwango vya ufikiaji vya property na method kwenye class. Python hutoa viwango vitatu vya msingi:

a) Public

Mfano:
class Example:

    def __init__(self):

        self.data = "Public Data"  # Public

 

obj = Example()

print(obj.data)  # Inaweza kufikiwa moja kwa moja

 

 

b) Protected

class Example:

    def __init__(self):

        self.data = "Protected Data"  # Private attribute

# Kufikia private attribute moja kwa moja nje ya class

obj = Example()

print(obj.data)  

 

Katika mfano huo tumeweza kuprint attribute data bila ya tatizo nje ya class. Huu ni mfano wa public. Lakini sasa hebu tufanye attribute data kuwa protected.

 

Mfano

class Example:

    def __init__(self):

        self._data = "Protected Data"  # Private attribute

 

# Kufikia private attribute moja kwa moja nje ya class

obj = Example()

print(obj._data)



Pia kuna namna ambavyo protected inaweza kutumika lakini sio njia inayoshauriwa kutumia yaani haipendezi.

Mfano:
class Example:

    def __init__(self):

        self._data = "Protected Data"  # Protected

 

obj = Example()

print(obj._data)  # Inaweza kufikiwa lakini haipendekezwi

 

 

Mfano wa kurithi protected

class Parent:

    def __init__(self):

        self._data = "Protected Data"  # Protected attribute

 

    def display_data(self):

        print(f"Data from Parent: {self._data}")

 

class Child(Parent):

    def modify_data(self, new_data):

        self._data = new_data  # Accessing and modifying protected attribute

        print(f"Data modified in Child: {self._data}")

 

# Kutengeneza object ya Child class

child_obj = Child()

 

# Kufikia na kuonyesha protected attribute kupitia parent method

child_obj.display_data()  # Output: Data from Parent: Protected Data

 

# Kufikia na kubadilisha protected attribute kupitia child method

child_obj.modify_data("New Protected Data")  # Output: Data modified in Child: New Protected Data

 

# Kuhakikisha mabadiliko yanadumu

child_obj.display_data()  # Output: Data from Parent: New Protected Data

&nb...

Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu image Tarehe: 2024-12-03 17:15:53 Topic: Python Main: Masomo File: Download PDF Views 882

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
πŸ‘‰1 web hosting     πŸ‘‰2 Kitabu cha Afya     πŸ‘‰3 Simulizi za Hadithi Audio     πŸ‘‰4 kitabu cha Simulizi     πŸ‘‰5 Kitau cha Fiqh     πŸ‘‰6 Sira ya Mtume Muhammad (s.a.w)    

Post zinazofanana:

PYTHON - somo la 3: Jinsi ya kuandika variable kwenye python

Katika somo hili utajifunza maana ya variable, na sheria za kutengeneza variable kwenye python. Pia utajifunza maneno ambayo hayafai kutumiwa kama variable

Soma Zaidi...
PYTHON - somo la 9: indexing katika strinfg

Katika somo hili tutakwenda kujifunza kuhusu string indexing. Kama tulivyojifunza kuhusu namba katika somo lililopita, basi hapa tutakwenda kucheza na string.

Soma Zaidi...
Python somo la 44: Data Manipulation katika Django Templates

Katika somo hili utakwend akujifunza jinsi ya kucheza na data kuzibadili kwa namna mbali mbali kwenye template

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 la 30: Data abstraction

Katika somo hili utakwend akujifunz akuhusu nadharia ya data abstraction na kazi zake kwenye OOP

Soma Zaidi...
Python somo la 51: Jinsi ya kutengeneza Model ya menu

Katika somo hili utakwend akujifunza ktengeneza model kwa ajili ya database table ya menu yetu.

Soma Zaidi...