🟢 Beginner  ·  Lesson 20

Python में Object-Oriented Programming

OOP क्या है?

Object-Oriented Programming (OOP) code को objects के इर्द-गिर्द organize करता है — ऐसी चीज़ें जिनमें data (attributes) और actions (methods) होते हैं। class blueprint है; object उससे बनी असली चीज़।

💡 Real example

"Student" class blueprint है। Aman और Riya उस blueprint से बने दो objects (students) हैं, हर एक का अपना name और marks।

Class और Object

Python – class.py
class Dog:
    sound = "Bark"      # सभी dogs का साझा attribute

d1 = Dog()              # object बनाएं
print(d1.sound)
Bark

class Dog blueprint है; d1 = Dog() एक असली dog object बनाता है।

__init__ Constructor

__init__ object बनते ही अपने आप चलता है। यह हर object का अपना data set करता है। self current object को दर्शाता है।

Python – init.py
class Student:
    def __init__(self, name, marks):
        self.name = name
        self.marks = marks

s1 = Student("Aman", 95)
print(s1.name, s1.marks)
Aman 95

Program 1: Student Class

Python – student.py
class Student:
    def __init__(self, name, roll, marks):
        self.name = name
        self.roll = roll
        self.marks = marks

s1 = Student("Aman", 1, 88)
s2 = Student("Riya", 2, 95)
print(s1.name, "scored", s1.marks)
print(s2.name, "scored", s2.marks)
Aman scored 88 Riya scored 95

एक class, दो स्वतंत्र objects — हर एक अपना name, roll और marks रखता है।

Program 2: Methods (Behaviour)

Method class के अंदर का function है जो object के data पर काम करता है।

Python – method.py
class Student:
    def __init__(self, name, marks):
        self.name = name
        self.marks = marks

    def result(self):
        return "PASS" if self.marks >= 33 else "FAIL"

s1 = Student("Aman", 75)
print(s1.name, ":", s1.result())
Aman : PASS

Program 3: Inheritance

Inheritance एक class को दूसरी class का code reuse करने देता है। Child को parent से सब मिलता है और वह और जोड़ सकता है।

Python – inherit.py
class Person:
    def __init__(self, name):
        self.name = name
    def greet(self):
        print("Hi, I am", self.name)

class Teacher(Person):       # Teacher, Person को inherit करता है
    def teach(self):
        print(self.name, "is teaching")

t = Teacher("Mr. Rao")
t.greet()    # Person से
t.teach()    # Teacher से
Hi, I am Mr. Rao Mr. Rao is teaching

Teacher(Person) मतलब Teacher, Person को inherit करता है — वह greet() मुफ़्त में use कर सकता है।

Program 4: Bank Account (Encapsulation)

Python – bank.py
class BankAccount:
    def __init__(self, owner, balance=0):
        self.owner = owner
        self.balance = balance

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        if amount > self.balance:
            print("Insufficient funds")
        else:
            self.balance -= amount

acc = BankAccount("Aman", 1000)
acc.deposit(500)
acc.withdraw(300)
print("Balance:", acc.balance)
Balance: 1200

Data (balance) और उस पर actions (deposit, withdraw) एक साथ रहते हैं — यही encapsulation है।

OOP के चार स्तंभ

स्तंभमतलब
EncapsulationData + methods एक class में bundle
InheritanceChild class parent का code reuse करे
Polymorphismएक ही method नाम, अलग behaviour
Abstractionजटिल details छुपाना, सिर्फ ज़रूरी दिखाना

सामान्य गलतियाँ

  • methods के पहले parameter self भूलना।
  • object बनाते समय brackets भूलना: Student बनाम Student()
  • class (blueprint) और object (असली चीज़) में confusion।

Practice Tasks

  1. brand और speed वाली Car class बनाएं, और details दिखाने वाला method।
  2. Student class में grade print करने वाला method जोड़ें।
  3. Animal parent और Dog/Cat children बनाएं जो sound() override करें।
  4. area() method वाली एक simple Rectangle class बनाएं।

सारांश

  • OOP code को classes (blueprints) और objects (असली items) में organize करता है।
  • __init__ हर object set करता है; self current object है।
  • Methods class के अंदर के functions हैं; inheritance code reuse करता है।
  • चार स्तंभ: encapsulation, inheritance, polymorphism, abstraction।
← Back to Python Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.