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 824

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Sira ya Mtume Muhammad (s.a.w)     👉2 Madrasa kiganjani     👉3 Bongolite - Game zone - Play free game     👉4 Tafasiri ya Riyadh Swalihina     👉5 Simulizi za Hadithi Audio     👉6 ai web app    

Post zinazofanana:

Python somo la 62 Kupakia picha (upload) na kuisoma kutoka kwenye database

Katika somo hili utakwenda kujifunza jinsi ya kushughulika na faili, kama ku upload faili kwenye django.

Soma Zaidi...
PYTHON somo la 12: assignment operator, logical operator, identity oeprator na membership operator

Katika somo hili utakwenda kujfunza operator nyingine kama assignment operator logical, identity operator na membership operator.

Soma Zaidi...
Python somo la 45: Kutumia Loops na Conditions katika Django Templates

Katika somo hili utakwend akujifunza kuchakata data kwa Kutumia Loops na Conditions katika Django Templates

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 36: Django framework - Utangulizi

Ni nini maana ya django framework na inafanya kazi gani

Soma Zaidi...
Python somo la 37: Jinsi ya ku install Django na kutengeneza project na app

Katika somo ili utajifunza hatuwa kwa hatuwa za ku install Django, kutengeneza project na kutengeneza app

Soma Zaidi...