Objective-C

From binaryoption
Revision as of 16:40, 1 May 2025 by Admin (talk | contribs) (@pipegas_WP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1
    1. ऑब्जेक्टिव-सी: शुरुआती गाइड

ऑब्जेक्टिव-सी एक शक्तिशाली और व्यापक रूप से इस्तेमाल की जाने वाली प्रोग्रामिंग भाषा है, जो विशेष रूप से Apple के ऑपरेटिंग सिस्टम, जैसे कि macOS और iOS के लिए एप्लिकेशन विकसित करने के लिए बनाई गई है। यह भाषा C प्रोग्रामिंग भाषा पर आधारित है और इसमें स्मॉलटॉक-शैली की ऑब्जेक्ट-ओरिएंटेड सुविधाओं को जोड़ा गया है। इस लेख में, हम ऑब्जेक्टिव-सी की बुनियादी अवधारणाओं, सिंटैक्स और महत्वपूर्ण पहलुओं पर विस्तार से चर्चा करेंगे, ताकि शुरुआती लोग इस भाषा को आसानी से समझ सकें और इसका उपयोग करना सीख सकें।

ऑब्जेक्टिव-सी का इतिहास

ऑब्जेक्टिव-सी का विकास 1980 के दशक में शुरू हुआ, जब ब्रैड कॉक्स और टॉम क्रोइस ने स्मॉलटॉक के विचारों को C भाषा के साथ मिलाने का प्रयास किया। उनका उद्देश्य एक ऐसी भाषा बनाना था जो C की दक्षता और स्मॉलटॉक की ऑब्जेक्ट-ओरिएंटेड विशेषताओं को जोड़ सके। 1990 के दशक में, NeXT ने ऑब्जेक्टिव-सी को अपने NeXTSTEP ऑपरेटिंग सिस्टम के लिए प्राथमिक विकास भाषा के रूप में अपनाया। जब Apple ने 1997 में NeXT का अधिग्रहण किया, तो ऑब्जेक्टिव-सी Apple के प्लेटफ़ॉर्म के लिए प्रमुख भाषा बन गई। 2014 में, Apple ने Swift नामक एक नई प्रोग्रामिंग भाषा पेश की, जिसे ऑब्जेक्टिव-सी का उत्तराधिकारी माना जाता है। हालांकि, ऑब्जेक्टिव-सी अभी भी कई मौजूदा iOS और macOS अनुप्रयोगों में उपयोग किया जाता है और इसका ज्ञान अभी भी महत्वपूर्ण है।

ऑब्जेक्टिव-सी की बुनियादी अवधारणाएं

ऑब्जेक्टिव-सी एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) भाषा है, जिसका अर्थ है कि यह प्रोग्राम को ऑब्जेक्ट के रूप में व्यवस्थित करने पर केंद्रित है। ऑब्जेक्ट में डेटा (गुण) और कोड (विधियां) होते हैं जो उस डेटा पर काम करते हैं। ऑब्जेक्टिव-सी की कुछ महत्वपूर्ण अवधारणाएं निम्नलिखित हैं:

  • **क्लास (Class):** क्लास एक ऑब्जेक्ट का ब्लूप्रिंट है। यह परिभाषित करता है कि ऑब्जेक्ट में कौन से गुण और विधियां होंगी।
  • **ऑब्जेक्ट (Object):** ऑब्जेक्ट क्लास का एक इंस्टेंस है। यह क्लास द्वारा परिभाषित गुणों और विधियों के साथ एक विशिष्ट इकाई है।
  • **इनहेरिटेंस (Inheritance):** इनहेरिटेंस एक ऐसी सुविधा है जो एक क्लास को दूसरे क्लास से गुण और विधियां प्राप्त करने की अनुमति देती है। यह कोड पुन: उपयोग को बढ़ावा देता है और प्रोग्राम को अधिक व्यवस्थित बनाता है।
  • **पॉलीमॉर्फिज्म (Polymorphism):** पॉलीमॉर्फिज्म एक ऐसी सुविधा है जो ऑब्जेक्ट को विभिन्न प्रकारों के रूप में व्यवहार करने की अनुमति देती है। यह प्रोग्राम को अधिक लचीला और अनुकूलनीय बनाता है।
  • **एनकैप्सुलेशन (Encapsulation):** एनकैप्सुलेशन एक ऐसी सुविधा है जो डेटा और कोड को एक इकाई में बांधती है। यह डेटा को अनधिकृत पहुंच से बचाता है और प्रोग्राम को अधिक सुरक्षित बनाता है।
  • **मैसेजिंग (Messaging):** ऑब्जेक्टिव-सी में, ऑब्जेक्ट एक-दूसरे के साथ मैसेज भेजकर संवाद करते हैं। मैसेज एक विधि कॉल है जिसे ऑब्जेक्ट प्राप्त करता है और उस पर कार्रवाई करता है।

ऑब्जेक्टिव-सी सिंटैक्स

ऑब्जेक्टिव-सी का सिंटैक्स C भाषा के समान है, लेकिन इसमें कुछ अतिरिक्त विशेषताएं हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग का समर्थन करती हैं।

  • **इंटरफेस (Interface):** इंटरफेस एक क्लास के सार्वजनिक भाग को परिभाषित करता है। इसमें विधियों की घोषणाएं शामिल होती हैं जिन्हें क्लास के बाहर से एक्सेस किया जा सकता है।
  • **इम्प्लीमेंटेशन (Implementation):** इम्प्लीमेंटेशन एक क्लास के निजी भाग को परिभाषित करता है। इसमें विधियों की परिभाषाएं शामिल होती हैं जो क्लास के अंदर से एक्सेस की जा सकती हैं।
  • **प्रॉपर्टी (Property):** प्रॉपर्टी क्लास के गुणों को एक्सेस और संशोधित करने का एक तरीका है। यह डेटा एनकैप्सुलेशन को बढ़ावा देता है।
  • **मेथड (Method):** मेथड एक क्लास के अंदर परिभाषित कोड का एक ब्लॉक है। यह क्लास के ऑब्जेक्ट पर कार्रवाई करता है।

ऑब्जेक्टिव-सी का उदाहरण

यहां एक साधारण ऑब्जेक्टिव-सी क्लास का उदाहरण दिया गया है:

```objectivec

  1. import <Foundation/Foundation.h>

@interface MyClass : NSObject

@property (nonatomic, strong) NSString *name;

- (void)sayHello;

@end

@implementation MyClass

- (instancetype)init {

   self = [super init];
   if (self) {
       _name = @"World";
   }
   return self;

}

- (void)sayHello {

   NSLog(@"Hello, %@!", self.name);

}

@end

int main(int argc, const char * argv[]) {

   @autoreleasepool {
       MyClass *myObject = [[MyClass alloc] init];
       [myObject sayHello];
   }
   return 0;

} ```

इस उदाहरण में, `MyClass` नामक एक क्लास को परिभाषित किया गया है। इस क्लास में `name` नामक एक प्रॉपर्टी और `sayHello` नामक एक मेथड है। `sayHello` मेथड कंसोल पर "Hello, World!" प्रिंट करता है। `main` फंक्शन में, `MyClass` का एक ऑब्जेक्ट बनाया जाता है और `sayHello` मेथड को कॉल किया जाता है।

ऑब्जेक्टिव-सी में मेमोरी मैनेजमेंट

ऑब्जेक्टिव-सी में मेमोरी मैनेजमेंट एक महत्वपूर्ण विषय है। ऑब्जेक्टिव-सी में, प्रोग्रामर को ऑब्जेक्ट के लिए मेमोरी आवंटित और मुक्त करने के लिए जिम्मेदार होना पड़ता है। ऑब्जेक्टिव-सी में मेमोरी मैनेजमेंट के लिए दो मुख्य तकनीकें हैं:

  • **मैनुअल रिटेन-रिलीज़ (Manual Retain-Release):** इस तकनीक में, प्रोग्रामर को स्पष्ट रूप से ऑब्जेक्ट को बनाए रखने (retain) और मुक्त करने (release) के लिए जिम्मेदार होना पड़ता है। यह तकनीक जटिल और त्रुटि-प्रवण हो सकती है।
  • **ऑटोमैटिक रेफरेंस काउंटिंग (Automatic Reference Counting - ARC):** ARC एक कंपाइलर सुविधा है जो स्वचालित रूप से ऑब्जेक्ट के लिए मेमोरी आवंटित और मुक्त करती है। यह तकनीक मेमोरी मैनेजमेंट को सरल बनाती है और त्रुटियों की संभावना को कम करती है।

ऑब्जेक्टिव-सी में फ्रेमवर्क

ऑब्जेक्टिव-सी में कई शक्तिशाली फ्रेमवर्क उपलब्ध हैं जो एप्लिकेशन विकास को सरल बनाते हैं। कुछ महत्वपूर्ण फ्रेमवर्क निम्नलिखित हैं:

  • **Foundation:** Foundation फ्रेमवर्क बुनियादी डेटा प्रकार, संग्रह, और अन्य उपयोगी सुविधाओं को प्रदान करता है।
  • **UIKit:** UIKit फ्रेमवर्क iOS एप्लिकेशन के लिए यूजर इंटरफेस बनाने के लिए आवश्यक घटकों को प्रदान करता है।
  • **Cocoa:** Cocoa फ्रेमवर्क macOS एप्लिकेशन के लिए यूजर इंटरफेस और अन्य सुविधाओं को प्रदान करता है।
  • **Core Data:** Core Data फ्रेमवर्क डेटा को स्थायी रूप से संग्रहीत और प्रबंधित करने के लिए एक शक्तिशाली उपकरण प्रदान करता है।
  • **Core Animation:** Core Animation फ्रेमवर्क एनीमेशन और ग्राफिक्स बनाने के लिए एक शक्तिशाली उपकरण प्रदान करता है।

ऑब्जेक्टिव-सी और स्विफ्ट (Swift)

2014 में, Apple ने स्विफ्ट नामक एक नई प्रोग्रामिंग भाषा पेश की। स्विफ्ट को ऑब्जेक्टिव-सी का उत्तराधिकारी माना जाता है और यह अधिक आधुनिक और सुरक्षित भाषा है। स्विफ्ट में ऑब्जेक्टिव-सी की तुलना में अधिक सरल सिंटैक्स और बेहतर प्रदर्शन है। हालांकि, ऑब्जेक्टिव-सी अभी भी कई मौजूदा iOS और macOS अनुप्रयोगों में उपयोग किया जाता है और इसका ज्ञान अभी भी महत्वपूर्ण है। स्विफ्ट और ऑब्जेक्टिव-सी दोनों को एक ही प्रोजेक्ट में उपयोग किया जा सकता है, जिससे मौजूदा ऑब्जेक्टिव-सी कोड को धीरे-धीरे स्विफ्ट में माइग्रेट करना संभव हो जाता है।

बाइनरी विकल्प ट्रेडिंग के साथ संबंध (प्रासंगिक उदाहरण)

यद्यपि ऑब्जेक्टिव-सी सीधे तौर पर बाइनरी विकल्प ट्रेडिंग से संबंधित नहीं है, लेकिन इसका उपयोग ट्रेडिंग प्लेटफॉर्म और संबंधित एप्लिकेशन विकसित करने के लिए किया जा सकता है। उदाहरण के लिए, एक iOS या macOS एप्लिकेशन जो बाइनरी विकल्प ट्रेडिंग की सुविधा प्रदान करता है, उसे ऑब्जेक्टिव-सी का उपयोग करके विकसित किया जा सकता है। एप्लिकेशन को रियल-टाइम डेटा फीड प्राप्त करने, तकनीकी विश्लेषण करने और ट्रेडिंग सिग्नल उत्पन्न करने के लिए ऑब्जेक्टिव-सी और संबंधित फ्रेमवर्क का उपयोग करना पड़ सकता है। जोखिम प्रबंधन रणनीतियों को लागू करने और पोर्टफोलियो विविधीकरण के लिए एप्लिकेशन विकसित करने में भी ऑब्जेक्टिव-सी का उपयोग किया जा सकता है। वॉल्यूम विश्लेषण, ट्रेंड विश्लेषण, और मूविंग एवरेज जैसे तकनीकी इंडिकेटर को प्रदर्शित करने के लिए एप्लिकेशन को प्रोग्राम करने में ऑब्जेक्टिव-सी उपयोगी हो सकता है। कैंडलस्टिक पैटर्न की पहचान करने और सपोर्ट और रेजिस्टेंस लेवल का निर्धारण करने के लिए भी इसका उपयोग किया जा सकता है।

निष्कर्ष

ऑब्जेक्टिव-सी एक शक्तिशाली और व्यापक रूप से इस्तेमाल की जाने वाली प्रोग्रामिंग भाषा है, जो Apple के प्लेटफ़ॉर्म के लिए एप्लिकेशन विकसित करने के लिए उपयुक्त है। हालांकि स्विफ्ट एक नई और आधुनिक भाषा है, लेकिन ऑब्जेक्टिव-सी का ज्ञान अभी भी महत्वपूर्ण है, खासकर मौजूदा अनुप्रयोगों को बनाए रखने और अपडेट करने के लिए। इस लेख में, हमने ऑब्जेक्टिव-सी की बुनियादी अवधारणाओं, सिंटैक्स और महत्वपूर्ण पहलुओं पर चर्चा की है। उम्मीद है कि यह लेख शुरुआती लोगों को ऑब्जेक्टिव-सी को समझने और इसका उपयोग करना सीखने में मदद करेगा।

C++ जावा पायथन Swift Xcode Interface Builder Cocoa Touch Foundation Framework UIKit Framework Core Data Framework ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग रियल-टाइम डेटा फीड तकनीकी विश्लेषण ट्रेडिंग सिग्नल जोखिम प्रबंधन पोर्टफोलियो विविधीकरण वॉल्यूम विश्लेषण ट्रेंड विश्लेषण मूविंग एवरेज कैंडलस्टिक पैटर्न सपोर्ट और रेजिस्टेंस लेवल

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер