ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के सिद्धांत

Aug 18, 2024

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) पर लेक्चर नोट्स

परिचय

  • ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) पर चर्चा
  • C++ भाषा में OOP के महत्व के बारे में
  • इंटरव्यू में OOP से जुड़े प्रश्नों का महत्व

OOP की आवश्यकता

  • पूर्व समय की प्रोग्रामिंग: प्रोसीजर ओरिएंटेड प्रोग्रामिंग
    • फ़ंक्शंस पर केंद्रित
    • डेटा को ग्लोबली एक्सेस करना
  • ग्लोबल डेटा के डिमेरिट्स:
    • डेटा में बदलाव को ट्रैक करना मुश्किल
    • डेटा संरचना में बदलाव से फ़ंक्शंस को अपडेट करना आवश्यक

OOP का मूल सिद्धांत

  • OOP में डेटा और फ़ंक्शंस को एक साथ बाइंड किया जाता है
  • डेटा संरचना को फ़ंक्शंस के साथ बाइंड करने के लिए ऑब्जेक्ट्स का उपयोग किया जाता है
  • प्रत्येक ऑब्जेक्ट में अपनी डेटा और फ़ंक्शन होती हैं

क्लास और ऑब्जेक्ट

  • क्लास: यूजर-डिफाइंड डेटा टाइप
    • उदाहरण: class Fruit
    • प्रॉपर्टीज और फ़ंक्शंस को परिभाषित किया जा सकता है
  • ऑब्जेक्ट्स: क्लास के वैरिएबल्स
    • उदाहरण: Fruit apple;

कंस्ट्रक्टर्स और डिस्ट्रक्टर्स

  • कंस्ट्रक्टर: ऑब्जेक्ट की प्रारंभिक स्थिति निर्धारित करता है
    • प्रकार: डिफॉल्ट, पैरामीटराइज्ड, कॉपी
  • डिस्ट्रक्टर: जब ऑब्जेक्ट का जीवन समाप्त होता है तब कॉल किया जाता है

एब्स्ट्रेक्शन

  • जरूरतमंद जानकारी दिखाना और अनावश्यक विवरण छिपाना
  • ओपरेशनों को सरल बनाता है

इनहेरिटेंस

  • वर्गों के बीच संबंध स्थापित करता है
  • विभिन्न प्रकार:
    • सिंगल इनहेरिटेंस
    • मल्टीलेवल इनहेरिटेंस
    • मल्टीपल इनहेरिटेंस
    • हाइब्रिड इनहेरिटेंस
    • डायमंड प्रॉब्लम

पॉलीमॉरफिज़्म

  • एक ऑब्जेक्ट या फ़ंक्शन के विभिन्न रूप
  • प्रकार:
    • कंपिल टाइम पॉलीमॉरफिज़्म (फ़ंक्शन ओवरलोडिंग)
    • रन टाइम पॉलीमॉरफिज़्म (फ़ंक्शन ओवरराइडिंग)

फ्रेंड फ़ंक्शन

  • नॉन-मेम्बर फ़ंक्शन जो प्राइवेट मेंबर्स को एक्सेस कर सकता है
  • उपयोग: विशेष कार्यों के लिए

निष्कर्ष

  • OOP के फंडामेंटल्स का सारांश
  • अगले लेक्चर के लिए तैयारी की सलाह
  • महत्वपूर्ण अभ्यास: फ़ंक्शन ओवरलोडिंग और ऑपरेटर ओवरलोडिंग

  • नोट्स में OOP के सभी प्रमुख सिद्धांतों का समावेश है।
  • इस लेक्चर का उद्देश्य OOP के फंडामेंटल्स को स्पष्ट करना और C++ में उनका उपयोग करना है।
  • धयान दें कि OOP से संबंधित सभी अवधारणाएं आपको आगामी कक्षाओं में बहुत सहायता करेंगी।
  • वीडियो को देखने के लिए धन्यवाद!