🔒 Encapsulation
Last Updated: 06 Sept 2025
Encapsulation = Wrapping data (variables) + methods (functions) into a single unit (class).
- Protects data from direct access.
- Gives controlled access through getters & setters.
Hinglish Tip 🗣: Socho ek "medicine capsule" → andar powder (data) hai, bahar ek cover (class) hai jo control karta hai ki powder kaise consume hoga.
✏ Simple Example
class Student:
def __init__(self, name, age):
self.__name = name # private variable
self.__age = age
# Getter
@property
def age(self):
return self.__age
# Setter
@age.setter
def age(self, value):
if value > 0:
self.__age = value
else:
print("Invalid age!")
s = Student("Amit", 20)
print(s.age) # ✅ Access via getter
s.age = 25 # ✅ Update via setter
print(s.age)
s.age = -5 # ❌ Invalid update