पायथन एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। पायथन में लगभग हर चीज़ को एक ऑब्जेक्ट माना जाता है। एक ऑब्जेक्ट के अपने गुण (एट्रिब्यूट्स) और व्यवहार (मेथड्स) होते हैं।
एक क्लास ऑब्जेक्ट्स का ब्लूप्रिंट होती है या ऑब्जेक्ट बनाने के लिए ऑब्जेक्ट कंस्ट्रक्टर कहलाती है।
एक क्लास के कई ऑब्जेक्ट्स हो सकते हैं और अलग-अलग ऑब्जेक्ट्स के लिए गुणों के मान अलग-अलग हो सकते हैं।
ऑब्जेक्ट के गुण और व्यवहार का उदाहरण
आइए कार को एक ऑब्जेक्ट के उदाहरण के रूप में लेते हैं। इसके गुणों में इसका रंग, कंपनी का नाम, निर्माण वर्ष, कीमत, माइलेज आदि शामिल होंगे। कार का व्यवहार उन कार्यों को शामिल करेगा जो यह कर सकती है, इसमें स्पीड बढ़ाना, स्पीड घटाना, ब्रेक लगाना आदि शामिल होंगे। ऑब्जेक्ट मूल रूप से हर चीज़ को वास्तविक जीवन की वस्तुओं से जोड़ता है। वास्तविक जीवन में हमारे आसपास मिलने वाली हर चीज़ के कुछ गुण और कुछ कार्य होते हैं।
क्लास और ऑब्जेक्ट का उदाहरण
एक ही क्लास से संबंधित अलग-अलग ऑब्जेक्ट्स के अलग-अलग गुण हो सकते हैं। उदाहरण के लिए, Person (मानव) को एक क्लास माना जा सकता है जिसके गुण नाम, आयु, लिंग आदि हैं। प्रत्येक व्यक्ति को क्लास Human या Person का एक ऑब्जेक्ट माना जा सकता है। प्रत्येक व्यक्ति के पास क्लास Person के गुणों के अलग-अलग मान होंगे। सभी के अलग-अलग नाम, आयु और लिंग होंगे।
इंस्टेंटिएशन क्या है?
एक ऑब्जेक्ट को क्लास का एक इंस्टेंस भी कहा जाता है। इस प्रकार, क्लास के ऑब्जेक्ट बनाने की प्रक्रिया को इंस्टेंटिएशन के रूप में जाना जाता है।
पायथन में क्लास परिभाषित करना
जैसे पायथन में फंक्शन को 'def' कीवर्ड का उपयोग करके परिभाषित किया जाता है। पायथन में क्लास को परिभाषित करने के लिए 'class' कीवर्ड का उपयोग किया जाता है। चूंकि क्लास ऑब्जेक्ट का ब्लूप्रिंट है, सभी सामान्य एट्रिब्यूट्स और मेथड्स क्लास में घोषित और परिभाषित किए जाएंगे। क्लास से बने अलग-अलग ऑब्जेक्ट्स उन गुणों और फंक्शन्स को एक्सेस कर सकते हैं। अलग-अलग ऑब्जेक्ट्स क्लास के अंदर परिभाषित गुणों के लिए अपने स्वयं के मान रख सकते हैं।
पायथन में ऑब्जेक्ट बनाना
क्लास का ऑब्जेक्ट बनाना सरल है। क्लास का नाम पता होना चाहिए और ऑब्जेक्ट को निम्नानुसार बनाया जा सकता है -
Object_name = class_name()
उदाहरण
class Person:
name = ""
age = 0
city = ""
def display(self):
print("Name:", self.name)
print("Age:", self.age)
print("City:", self.city)
p1 = Person()
p1.name = "Rahul"
p1.age = 20
p1.city = "Kolkata"
p1.display()
print()
p2 = Person()
p2.name = "Karan"
p2.age = 22
p2.city = "Bangalore"
p2.display()
print()
p1.display()
उपरोक्त इम्प्लीमेंटेशन में, p1=Person() ऑब्जेक्ट इंस्टेंटिएशन है। p1 ऑब्जेक्ट का नाम है। हमने ऑब्जेक्ट p1 के माध्यम से क्लास के गुणों को एक्सेस किया और उन्हें अलग-अलग मान दिए और बाद में इस ऑब्जेक्ट के मानों को डिस्प्ले करने के लिए डिस्प्ले फंक्शन को कॉल किया। बाद में, हम दूसरे ऑब्जेक्ट p2 के लिए भी ऐसा ही करते हैं और p2 के गुणों को डिस्प्ले करते हैं।
अंत में, हम ऑब्जेक्ट p1 के लिए फिर से display() कॉल करते हैं ताकि यह दिखाया जा सके कि प्रत्येक ऑब्जेक्ट गुणों के अपने स्वयं के मान रखता है और वे अन्य ऑब्जेक्ट्स से स्वतंत्र हैं।
आउटपुट
Name: Rahul
Age: 20
City: Kolkata
Name: Karan
Age: 22
City: Bangalore
Name: Rahul
Age: 20
City: Kolkata