Lesson — OOP
DABBE KE
ANDAR DABBA.
Order ke andar Item, Laptop ke andar Battery — part-of rishte ke liye inner class. Simple, saaf, MNC-approved pattern.
WHY: dabbe ke andar dabba
Swiggy Order ke andar Item hote hain — item ka matlab order ke bina adhoora hai. Aise has-a, part-of rishte ke liye class ke andar class: inner class.
python▶ Run
class Order:
def __init__(self, oid):
self.oid = oid
self.items = []
class Item:
def __init__(self, name, price):
self.name = name
self.price = price
o = Order("SW-1")
o.items.append(Order.Item("Dosa", 120))
print(o.items[0].price) # 120OUTER
Bada dabba: Order — sab sambhalta hai.
INNER
Chhota: Item — bahar se Order.Item.
USE
Jab part ka matlab parent ke bina na ho.
HOW: andar wali class
Inner class normal class jaisi hi — bas outer ke naam ke neeche rehti hai. Bahar se Outer.Inner() likhkar banao. Simple rakho: 1 level nesting kaafi hai.
python▶ Run
class Laptop:
class Battery:
def __init__(self):
self.pct = 100
def __init__(self):
self.bat = Laptop.Battery()
print(Laptop().bat.pct) # 100Try it: school-registerInner class jodo
Run Python dabayein
Quick check
Outer class ke andar wali class ko kya kehte hain?
Andar wali — outer ke naam ke neeche rehti hai.
Common mistakes
- Bina wajah nesting — flat code pehle, inner jab rishta part-of ho.
Item()seedha banana — bahar seOrder.Item()likho.- Inner ko outer ka data auto-milega samajhna — explicitly pass karo.
Nesting clear?
Ab data ko file me sambhalo — file handling dekho.