पायथन में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) आधुनिक प्रोग्रामिंग की सबसे महत्वपूर्ण पद्धतियों में से एक है। पायथन OOP को पूरी तरह से सपोर्ट करता है, जो इसे शुरुआती डेवलपर्स और पेशेवर प्रोग्रामर्स दोनों के लिए एक शक्तिशाली टूल बनाता है।
OOP वास्तविक दुनिया को मॉडल करने, कोड की पठनीयता बढ़ाने, कंपोनेंट्स को पुनः उपयोग करने और प्रोजेक्ट्स की जटिलता को प्रबंधित करने में मदद करता है। ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के मुख्य अवधारणाएं क्लास और ऑब्जेक्ट हैं, साथ ही बुनियादी सिद्धांत: इनहेरिटेंस, एनकैप्सुलेशन और पॉलीमॉर्फिज्म।
यह दृष्टिकोण प्रोग्राम को इंटरैक्ट करने वाले ऑब्जेक्ट्स के समूह के रूप में संरचित करता है, जिनमें से प्रत्येक एक विशिष्ट क्लास का इंस्टेंस होता है। इससे कोड अधिक मॉड्यूलर, समझने में आसान और मेंटेन करने में सरल हो जाता है।
पायथन में क्लास और ऑब्जेक्ट की मूल बातें
क्लास और ऑब्जेक्ट की परिभाषा
क्लास एक टेम्पलेट या ब्लूप्रिंट है जो ऑब्जेक्ट बनाने के लिए उपयोग होता है। यह डेटा स्ट्रक्चर और मेथड्स को परिभाषित करता है जो इस प्रकार के सभी ऑब्जेक्ट्स के लिए उपलब्ध होंगे।
ऑब्जेक्ट क्लास का एक विशिष्ट इंस्टेंस है, जिसके पास अपना डेटा होता है और वह क्लास में परिभाषित क्रियाएं कर सकता है।
class Car:
def drive(self):
print("कार चल पड़ी")
my_car = Car() # ऑब्जेक्ट (क्लास का इंस्टेंस)
my_car.drive()
उपरोक्त कोड में, Car क्लास कार ऑब्जेक्ट बनाने के लिए एक टेम्पलेट परिभाषित करता है। drive() मेथड उस व्यवहार को बताता है जो इस क्लास के सभी इंस्टेंस के लिए उपलब्ध है।
पायथन में क्लास की संरचना
पायथन में क्लास की बुनियादी संरचना इस प्रकार है:
class ClassName:
def __init__(self, आर्गुमेंट्स):
self.प्रॉपर्टीज = वैल्यू
def मेथड(self):
क्रियाएं
क्लास के महत्वपूर्ण घटकों में शामिल हैं:
- init — क्लास का कंस्ट्रक्टर, जो नया ऑब्जेक्ट बनाते समय स्वचालित रूप से कॉल होता है
- self — एक विशेष पैरामीटर जो वर्तमान ऑब्जेक्ट इंस्टेंस का संदर्भ देता है
- एट्रीब्यूट्स — वेरिएबल जो ऑब्जेक्ट का डेटा स्टोर करते हैं
- मेथड्स — फंक्शन जो क्लास के अंदर परिभाषित होते हैं और ऑब्जेक्ट से जुड़े होते हैं
क्लास बनाना और उपयोग करना
क्लास बनाने का व्यावहारिक उदाहरण
आइए Person क्लास बनाने का उदाहरण देखें, जो एक व्यक्ति को मॉडल करता है:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"नमस्ते, मेरा नाम {self.name} है")
def get_info(self):
return f"नाम: {self.name}, उम्र: {self.age}"
p = Person("अन्ना", 30)
p.greet()
print(p.get_info())
इस उदाहरण में, init कंस्ट्रक्टर name और age पैरामीटर लेता है, जो इंस्टेंस एट्रीब्यूट्स के रूप में सेव होते हैं। greet() और get_info() मेथड्स ऑब्जेक्ट के डेटा के साथ काम करने की कार्यक्षमता प्रदान करते हैं।
क्लास के इंस्टेंस बनाना
पायथन में क्लास का इंस्टेंस बनाने की प्रक्रिया क्लास को फंक्शन की तरह कॉल करके होती है:
p1 = Person("राहुल", 25)
p2 = Person("प्रिया", 28)
print(p1.name) # राहुल
print(p1.age) # 25
print(p2.name) # प्रिया
क्लास कंस्ट्रक्टर का प्रत्येक कॉल अपने स्वयं के एट्रीब्यूट्स और स्थिति के साथ एक नया स्वतंत्र ऑब्जेक्ट बनाता है।
पायथन क्लास में एट्रीब्यूट्स
इंस्टेंस एट्रीब्यूट्स
इंस्टेंस एट्रीब्यूट्स प्रत्येक ऑब्जेक्ट के लिए अद्वितीय होते हैं। ये init मेथड में बनाए और इनिशियलाइज़ किए जाते हैं और प्रोग्राम चलने के दौरान बदल सकते हैं:
class Student:
def __init__(self, name, grade):
self.name = name
self.grade = grade
def update_grade(self, new_grade):