क्लास इनहेरिटेंस

Python में Object-Oriented Programming परिचय

George Boorman

Curriculum Manager, DataCamp

कोड री-यूज़

 

1. किसी ने यह पहले ही किया है

 

  • निश्चित फंक्शनैलिटी के लिए पैकेज बेहतरीन हैं
  • कस्टम फंक्शनैलिटी के लिए OOP बेहतरीन है

कई Python पैकेजों के लोगो

Python में Object-Oriented Programming परिचय

कोड री-यूज़

 

1. किसी ने यह पहले ही किया है

 

2. DRY: Don't Repeat Yourself

विभिन्न GUI एलिमेंट्स

Python में Object-Oriented Programming परिचय

कोड री-यूज़

 

1. किसी ने यह पहले ही किया है

 

2. DRY: Don't Repeat Yourself

विभिन्न GUI एलिमेंट्स का उपयोग न करें

Python में Object-Oriented Programming परिचय

इनहेरिटेंस

 

$$\Large{\text{नई class की functionality = पुरानी class की functionality + extra}}$$

Python में Object-Oriented Programming परिचय

उदाहरण हाइरार्की

BankAccount क्लास

Python में Object-Oriented Programming परिचय

उदाहरण हाइरार्की

SavingsAccount, BankAccount से इनहेरिट करता है

Python में Object-Oriented Programming परिचय

उदाहरण हाइरार्की

CheckingAccount भी BankAccount से इनहेरिट करता है

Python में Object-Oriented Programming परिचय

उदाहरण हाइरार्की

CheckingAccount में संशोधित withdraw method है

Python में Object-Oriented Programming परिचय

क्लास इनहेरिटेंस लागू करना

class BankAccount:
    def __init__(self, balance):
       self.balance = balance

    def withdraw(self, amount):
        self.balance -= amount


# Class inheriting from BankAccount class SavingsAccount(BankAccount): pass
  • BankAccount: पैरेंट क्लास जिसकी फंक्शनैलिटी बढ़ाई/इनहेरिट की जा रही है
  • SavingsAccount: चाइल्ड/सब-क्लास जो यह फंक्शनैलिटी इनहेरिट करेगा और और जोड़ेगा
Python में Object-Oriented Programming परिचय

चाइल्ड क्लास में पैरेंट का सारा डेटा होता है

# Constructor BankAccount से इनहेरिट हुआ
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# Attribute BankAccount से इनहेरिट हुआ
savings_acct.balance
1000
# Method BankAccount से इनहेरिट हुआ
savings_acct.withdraw(300)
Python में Object-Oriented Programming परिचय

इनहेरिटेंस: "is-a" रिलेशनशिप

SavingsAccount, BankAccount है

(संभवतः कुछ विशेष फीचर्स के साथ)

savings_acct = SavingsAccount(1000)
isinstance(savings_acct, SavingsAccount)
True
isinstance(savings_acct, BankAccount)
True

 

 

acct = BankAccount(500)
isinstance(acct, SavingsAccount)
False
isinstance(acct, BankAccount)
True
Python में Object-Oriented Programming परिचय

अभ्यास करते हैं!

Python में Object-Oriented Programming परिचय

Preparing Video For Download...