📚

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

Nov 7, 2024

Object Oriented Programming Systems (OOPS)

परिचय

  • OOPS की आवश्यकता:
    • मॉडर्न प्रोग्रामिंग लैंग्वेज OOPS पर आधारित
    • प्लेसमेंट्स और इंटरव्यू में प्रश्न पूछे जाते हैं
  • मुख्य OOPS कॉन्सेप्ट्स: Classes, Objects, Inheritance, Encapsulation, Polymorphism, Abstraction

Classes और Objects

  • Class: ब्लूप्रिंट होता है जिसका उपयोग ओब्जेक्ट बनाने के लिए किया जाता है।
  • Object: क्लास का इंस्टेंस होता है।
  • उदाहरण: Maruti 800 का ब्लूप्रिंट (Class) और हर कार (Object)

उदाहरण: Pen Class

  • प्रॉपर्टीज: रंग, टाइप
  • मेथड: लिखना
  • Implementation: public class Pen { String color; String type; // Ballpoint, Gel public void write() { System.out.println("Writing something"); } }

Constructors

  • Parameterized Constructor: ऑब्जेक्ट के साथ डेटा इनिशियलाइज करें।
  • Non-Parameterized Constructor: बिना पैरामीटर का कंस्ट्रक्टर।
  • Copy Constructor: एक ऑब्जेक्ट की विशेषताओं को दूसरे में कॉपी करें।

Inheritance

  • Inheritance: एक क्लास की प्रॉपर्टीज दूसरी क्लास को दी जाती हैं।
  • उपयोग: कोड रीयूज़ेबिलिटी और ऑर्गेनाइजेशन
  • Types of Inheritance:
    • Single Level: एक बेस और एक डेराइव्ड क्लास
    • Multi-Level: एक से अधिक लेवल
    • Hierarchical: एक बेस क्लास से कई डेराइव्ड
    • Hybrid: मिश्रित प्रकार का इनहेरिटेंस

Polymorphism

  • Compile-time Polymorphism (Function Overloading): सेम नाम के मल्टीपल फंक्शंस
  • Run-time Polymorphism (Function Overriding): इनहेरिटेड फंक्शंस को ओवरराइड करना

Access Modifiers

  • Public: सभी से एक्सेसिबल
  • Protected: सबक्लासेस और पैकेज के लिए एक्सेसिबल
  • Default: केवल पैकेज के अंदर एक्सेसिबल
  • Private: केवल उस क्लास के अंदर एक्सेसिबल

Encapsulation

  • डेटा और फंक्शंस को एक यूनिट में कम्बाइन करना
  • डेटा हाइडिंग को संभव बनाता है

Abstraction

  • अनावश्यक विवरणों को छुपाना
  • Abstract Classes और Interfaces:
    • Abstract Class: एबस्ट्रैक्ट और नॉन-एबस्ट्रैक्ट मेथड्स
    • Interface: केवल एबस्ट्रैक्ट मेथड्स

Static Keyword

  • Static Properties: सभी ऑब्जेक्ट्स के लिए समान
  • मेमोरी मैनेजमेंट को प्रभावित करता है

Java Packages

  • कोड को ऑर्गेनाइज करने के लिए उपयोग किया जाता है
  • Built-in Packages: पूर्वनिर्धारित
  • User-defined Packages: उपयोगकर्ता द्वारा निर्मित

Conclusion

  • OOPS के कॉन्सेप्ट्स भाषा को बेहतर समझने में मदद करते हैं और कोडिंग में ऑर्गेनाइजेशन लाते हैं।
  • Java और C++ OOPS में कई समानताएं हैं।

अभ्यास

  • OOPS के कॉन्सेप्ट्स को प्रैक्टिस करें और विभिन्न प्रोग्रामिंग लैंग्वेज में उनका प्रयोग करें।