Kotlin Tutorial
कोटलिन में OOPs क्या है? - Kotlin OOPs Concepts in Hindi With Examples)
Table of Contents
- परिचय
- कोटलिन में OOPs क्या है? (OOPs in Kotlin in Hindi)
- कोटलिन में OOP के लाभ (Benefits of OOP in Kotlin in Hindi)
- Kotlin OOP Example
- कोटलिन OOPs Concepts की सूची
- कोटलिन में Classes और Objects
- Kotlin Constructors
- Kotlin Polymorphism
- Kotlin Inheritance
- Kotlin Abstraction
- Kotlin Encapsulation
- Kotlin Interface
- Kotlin Full Course Video for Beginners in Hindi [FREE]
Kotlin Full Course Video for Beginners in Hindi [FREE]
Kotlin OOP FAQs
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग एक प्रोग्रामिंग paradigm है जो वास्तविक दुनिया की institutions और उनके model the interaction करने के लिए ऑब्जेक्ट्स का उपयोग करता है, जो classes के उदाहरण हैं। यह कोड को organized and managed करने के लिए Encapsulation, inheritance and polymorphism जैसी concepts को बढ़ावा देता है।
कोटलिन एक आधुनिक, स्थिर रूप से टाइप की गई प्रोग्रामिंग भाषा है जो OOP principles का पूरी तरह से समर्थन करती है। यह आपको Classes को परिभाषित करने, ऑब्जेक्ट बनाने और inheritance, एनकैप्सुलेशन और polymorphism जैसी प्रमुख ओओपी concepts का उपयोग करने की अनुमति देता है।
एक primary constructor को क्लास हेडर में परिभाषित किया जाता है, जबकि एक secondary constructor को क्लास बॉडी के अंदर कंस्ट्रक्टर कीवर्ड का उपयोग करके परिभाषित किया जाता है। primary constructor का उपयोग class properties को आरंभ करने के लिए किया जाता है, जबकि Secondary Constructor Class Instances बनाने के लिए अतिरिक्त तरीके प्रदान करते हैं।
कोटलिन में inheritance एक Class (subclass or derived class) को किसी अन्य class (सुपरक्लास या बेस क्लास) से properties and methods को प्राप्त करने की अनुमति देता है। आप inheritance को इंगित करने के लिए : Sign का उपयोग करते हैं। subclass superclass के तरीकों और properties को ओवरराइड कर सकते हैं।
कोटलिन में एक डेटा क्लास एक ऐसा क्लास है जिसे विशेष रूप से डेटा रखने के लिए डिज़ाइन किया गया है, जैसे कि properties और इससे अधिक कुछ नहीं। कोटलिन स्वचालित रूप से data classes के लिए equals(), hashCode(), toString(), and copy() तरीके उत्पन्न करता है। जब आपको सरल data structures का प्रतिनिधित्व करने की आवश्यकता हो तो आपको data classes का उपयोग करना चाहिए।
कोटलिन इंटरफेस के माध्यम से multiple inheritance का समर्थन करता है। एक Class कई इंटरफेस लागू कर सकता है, जो इसे उन इंटरफेस में घोषित तरीकों को प्राप्त करने और execution प्रदान करने की अनुमति देता है। यह कुछ अन्य languages में इससे जुड़ी Complications के बिना multiple inheritance प्राप्त करने का एक तरीका है।
कोटलिन में, ओपन कीवर्ड का उपयोग classes and methods को एक्सटेंशन के लिए ओपन के रूप में चिह्नित करने के लिए किया जाता है। यह आपको किसी Class को subcategorized करने या किसी Subclass में किसी Method को ओवरराइड करने की अनुमति देता है। डिफ़ॉल्ट रूप से, कोटलिन में Class और Method अंतिम हैं और जब तक खुले के साथ चिह्नित नहीं किया जाता तब तक उन्हें ओवरराइड या विस्तारित नहीं किया जा सकता है।
हाँ, आप get() और set() कीवर्ड का उपयोग करके कोटलिन में कस्टम गेटर्स और सेटर्स के साथ properties को परिभाषित कर सकते हैं। यह आपको Property का value प्राप्त करते या निर्धारित करते समय custom logic जोड़ने की अनुमति देता है।
Internal modifier visibility को उसी मॉड्यूल (Project or module-level access) तक सीमित करता है। यह encapsulated implementation details के साथ मॉड्यूल बनाने के लिए उपयोगी है जो मॉड्यूल के बाहर दिखाई नहीं देते हैं।
एक sealed class एक विशेष प्रकार का class है जो inheritance hierarchy को Subclass के पूर्वनिर्धारित सेट तक सीमित करता है। इसका उपयोग अक्सर मामलों के सीमित समूह को विस्तृत रूप से संभालने के लिए when expressions के Combination में किया जाता है।
Abstract classes में execution के साथ Properties and Methods हो सकती हैं, और उन्हें subclass किया जा सकता है। दूसरी ओर, इंटरफ़ेस में Implementation Details शामिल नहीं हो सकते हैं और इन्हें classes द्वारा implemented किया जाता है। एक Class केवल एक abstract class से Heritage में मिल सकता है लेकिन कई इंटरफेस लागू कर सकता है।
आप किसी Class को अंतिम के रूप में चिह्नित करके उसे Subclass होने से रोक सकते हैं। last class में Subclass नहीं हो सकते। इसके अतिरिक्त, आप क्लास को खुले के रूप में चिह्नित न करके इसे प्राप्त कर सकते हैं, जो कि कोटलिन में default behavior है।
कोटलिन में डेलिगेशन के लिए by keyword का उपयोग किया जाता है। यह एक Class को अपनी कुछ methods or properties के execution को किसी अन्य ऑब्जेक्ट को सौंपने की अनुमति देता है। delegation एक Class में Behaviour का Reuse and Creation करने का एक तरीका है।
companion item एक Class के भीतर stable members (properties and methods) को परिभाषित करने का एक तरीका है। ये सदस्य Class के उदाहरणों के बजाय स्वयं Class से जुड़े होते हैं। यह class-level functionality बनाने का एक तरीका प्रदान करता है।