अब तक हमने प्रोसीजरल प्रोग्रामिंग (Procedural Programming) देखी है। लूप्स और फंक्शन्स अच्छे हैं, लेकिन जब सॉफ्टवेयर 10,000 लाइन का हो जाता है, तो उसे हैंडल करना मुश्किल हो जाता है। इसलिए बड़ी कंपनियां Object-Oriented Programming (OOPs) का इस्तेमाल करती हैं।
Class और Object क्या हैं? एक रियल लाइफ उदाहरण
मान लीजिए कि आपको एक कार बनानी है। सबसे पहले आप कागज़ पर कार का ब्लूप्रिंट (नक्शा) बनाएंगे, जिसमें लिखा होगा - "4 पहिये होंगे, किस रंग की होगी, कितनी स्पीड होगी।" ये ब्लूप्रिंट ही Class (क्लास) है।
अब इस नक्शे को देखकर जो असली कार फैक्ट्री में तैयार होती है (जिसे आप छू सकते हैं और चला सकते हैं), वो Object (ऑब्जेक्ट) है।
# Class (ब्लूप्रिंट) बनाना
class Car:
# Constructor (जब कार बनती है तो क्या-क्या होगा)
def __init__(self, brand, color):
self.brand = brand # Attributes (विशेषताएं)
self.color = color
# Methods (कार क्या कर सकती है)
def start(self):
print(self.brand + " स्टार्ट हो गई है!")
# Object (असली मॉडल) बनाना
my_car = Car("Tata Safari", "Black")
my_car.start() # Output: Tata Safari स्टार्ट हो गई है!
'self' का क्या लॉजिक है?
अक्सर इंटरव्यू में पूछा जाता है कि self क्या है? self का सीधा मतलब है "खुद"। जब 'my_car' स्टार्ट होती है, तो उसे पता होना चाहिए कि कौन सी कार स्टार्ट हो रही है। 'self' हमेशा उस करंट ऑब्जेक्ट (current object) को पॉइंट करता है जिस पर एक्शन हो रहा हो।