Objective-C

From binaryoption
Jump to navigation Jump to search
Баннер1

```wiki

  1. REDIRECT Objective-C

Objective-C: دليل شامل للمبتدئين

Objective-C هي لغة برمجة كائنية التوجه (Object-Oriented Programming) تستخدم على نطاق واسع في تطوير تطبيقات نظام التشغيل macOS و iOS. تعتبر امتدادًا للغة C، حيث تضيف إليها ميزات البرمجة الكائنية مثل التغليف (Encapsulation)، الوراثة (Inheritance) وتعدد الأشكال (Polymorphism). هذا المقال يهدف إلى تقديم مقدمة شاملة للمبتدئين في Objective-C، تغطي المفاهيم الأساسية، البنية، وأمثلة عملية.

تاريخ Objective-C

بدأت Objective-C في السبعينيات كإضافة للغة Smalltalk إلى لغة C بواسطة Brad Cox و Tom Love. كان الهدف هو الجمع بين قوة C في التعامل مع النظام وقدرات Smalltalk في البرمجة الكائنية. في الثمانينيات والتسعينيات، أصبحت Objective-C اللغة الرئيسية لتطوير تطبيقات NeXTSTEP، وهو نظام التشغيل الذي أسس له ستيف جوبز قبل عودته إلى Apple. عندما استحوذت Apple على NeXTSTEP في عام 1997، تبنت Objective-C كلغة برمجة أساسية لتطوير نظام macOS و لاحقًا iOS. على الرغم من ظهور لغة Swift كلغة حديثة لتطوير Apple، لا تزال Objective-C مستخدمة على نطاق واسع في العديد من المشاريع القائمة، ولها أهمية تاريخية كبيرة.

المفاهيم الأساسية في Objective-C

  • البرمجة الكائنية (Object-Oriented Programming): Objective-C مبنية على مبادئ البرمجة الكائنية، والتي تركز على تنظيم التعليمات البرمجية حول "كائنات" تحتوي على بيانات (خصائص) وأساليب (وظائف) تعمل على تلك البيانات.
  • الكائنات (Objects): هي مثيلات (Instances) من الفئات (Classes). تمثل الكائنات كيانات حقيقية أو مفاهيمية في البرنامج.
  • الفئات (Classes): هي قوالب (Blueprints) تحدد خصائص وأساليب الكائنات التي تنتمي إليها.
  • الرسائل (Messages): في Objective-C، لا تستدعي الأساليب مباشرة. بدلاً من ذلك، ترسل "رسائل" إلى الكائنات، وتحدد الكائنات نفسها ما إذا كانت ستستجيب لتلك الرسائل أم لا.
  • البروتوكولات (Protocols): تحدد مجموعة من الأساليب التي يجب أن تنفذها الفئة التي تتبنى البروتوكول. تشبه الواجهات (Interfaces) في لغات أخرى.
  • الأيدي (IDs): نوع بيانات عام يمكنه الإشارة إلى أي كائن.
  • الفئات الجذرية (Root Classes): NSObject هي الفئة الجذرية لجميع الفئات الأخرى في Objective-C. توفر NSObject العديد من الوظائف الأساسية التي تستخدمها جميع الكائنات.

بناء الجملة (Syntax) في Objective-C

بنية Objective-C تشبه C إلى حد كبير، ولكنها تضيف بعض الميزات الجديدة.

  • إعلانات الفئات (Class Declarations):
   ```objectivec
   @interface MyClass : NSObject
   {
       // متغيرات المثيل (Instance Variables)
       int myVariable;
   }
   // خصائص (Properties)
   @property (nonatomic, strong) NSString *myString;
   // أساليب (Methods)
   - (void)myMethod:(int)parameter;
   + (void)myClassMethod;
   @end
   ```
   *   `@interface`: تحدد بداية تعريف الفئة.
   *   `: NSObject`:  تحدد أن الفئة ترث من الفئة NSObject.
   *   `{ ... }`:  تحتوي على متغيرات المثيل (Instance Variables)، وهي البيانات الخاصة بالكائنات التي تنتمي إلى هذه الفئة.
   *   `@property`: تحدد خصائص الفئة، وهي طريقة أكثر تنظيمًا للوصول إلى متغيرات المثيل.
   *   `- (void)myMethod:(int)parameter;`:  تحدد طريقة المثيل (Instance Method)، والتي يمكن استدعاؤها على كائنات من هذه الفئة.  `void` يشير إلى أن الطريقة لا ترجع أي قيمة.
   *   `+ (void)myClassMethod;`:  تحدد طريقة الفئة (Class Method)، والتي يمكن استدعاؤها على الفئة نفسها، وليس على كائن منها.
  • تنفيذ الفئات (Class Implementations):
   ```objectivec
   @implementation MyClass
   - (void)myMethod:(int)parameter
   {
       // تنفيذ الطريقة
       myVariable = parameter;
   }
   + (void)myClassMethod
   {
       // تنفيذ طريقة الفئة
       NSLog(@"Hello from MyClass!");
   }
   @end
   ```
   *   `@implementation`: تحدد بداية تنفيذ الفئة.
   *   داخل `@implementation`، يتم توفير التعليمات البرمجية الفعلية التي تنفذ الأساليب المحددة في `@interface`.
  • إنشاء الكائنات (Object Creation):
   ```objectivec
   MyClass *myObject = [[MyClass alloc] init];
   ```
   *   `[[MyClass alloc] init]`:  هذه هي الطريقة القياسية لإنشاء كائن جديد من الفئة MyClass.  `alloc` يحجز الذاكرة للكائن، و `init` يقوم بتهيئة الكائن.
  • إرسال الرسائل (Message Sending):
   ```objectivec
   [myObject myMethod:10];
   [MyClass myClassMethod];
   ```
   *   `[myObject myMethod:10];`:  يرسل رسالة `myMethod` إلى الكائن `myObject` مع تمرير القيمة `10` كمعامل.
   *   `[MyClass myClassMethod];`:  يرسل رسالة `myClassMethod` إلى الفئة `MyClass` نفسها.

مثال عملي: فئة بسيطة

لنقم بإنشاء فئة بسيطة تمثل "شخصًا" (Person) مع اسم وعمر.

```objectivec // Person.h

  1. import <Foundation/Foundation.h>

@interface Person : NSObject

@property (nonatomic, strong) NSString *name; @property (nonatomic) int age;

- (instancetype)initWithName:(NSString *)name age:(int)age; - (void)printInfo;

@end

// Person.m

  1. import "Person.h"

@implementation Person

- (instancetype)initWithName:(NSString *)name age:(int)age {

   self = [super init];
   if (self) {
       _name = [name copy]; // استخدام copy لضمان عدم تغيير الاسم الأصلي
       _age = age;
   }
   return self;

}

- (void)printInfo {

   NSLog(@"Name: %@, Age: %d", _name, _age);

}

@end

// main.m

  1. import <Foundation/Foundation.h>
  2. import "Person.h"

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

   @autoreleasepool {
       Person *person1 = [[Person alloc] initWithName:@"John Doe" age:30];
       [person1 printInfo];
   }
   return 0;

} ```

في هذا المثال:

  • `Person.h`: يحتوي على تعريف الفئة Person.
  • `Person.m`: يحتوي على تنفيذ الفئة Person.
  • `main.m`: هو الملف الرئيسي الذي ينشئ كائنًا من الفئة Person ويستدعي طريقة `printInfo` لطباعة معلومات الشخص.

إدارة الذاكرة في Objective-C

إدارة الذاكرة هي جانب حاسم في Objective-C. تقليديًا، كانت Objective-C تستخدم العد المرجعي التلقائي (Automatic Reference Counting - ARC) لإدارة الذاكرة. ARC يتتبع عدد المراجع للكائنات ويحرر الذاكرة تلقائيًا عندما لم يعد هناك أي مراجع للكائن.

  • Retain (الاحتفاظ): يزيد عدد المراجع للكائن.
  • Release (التحرير): يقلل عدد المراجع للكائن.
  • Autorelease (التحرير التلقائي): يضع الكائن في "مجموعة التحرير التلقائي" (Autorelease Pool)، والتي يتم تحريرها في وقت لاحق.

مع ARC، لا تحتاج إلى استدعاء `retain` و `release` يدويًا. يقوم المترجم بإدراج هذه الاستدعاءات تلقائيًا. ومع ذلك، من المهم فهم كيفية عمل ARC لتجنب الحلقات المرجعية (Retain Cycles)، وهي حالات حيث تحتفظ الكائنات ببعضها البعض، مما يمنع تحرير الذاكرة.

استخدام المكتبات والإطارات (Frameworks)

Objective-C تعتمد بشكل كبير على المكتبات والإطارات. Foundation Framework هو إطار عمل أساسي يوفر العديد من الفئات والوظائف الأساسية، مثل سلاسل النصوص، المصفوفات، القواميس، وإدارة الملفات. Cocoa Framework (macOS) و UIKit Framework (iOS) يوفران واجهات برمجة تطبيقات (APIs) لبناء واجهات المستخدم وتطبيقات تفاعلية.

Swift و Objective-C

على الرغم من أن Swift هي اللغة المفضلة لتطوير Apple حاليًا، لا تزال Objective-C مستخدمة على نطاق واسع في العديد من المشاريع القائمة. يمكن استخدام Swift و Objective-C معًا في نفس المشروع، مما يتيح لك الاستفادة من مزايا كلتا اللغتين.

استراتيجيات الخيارات الثنائية والتحليل الفني (Binary Options Strategies and Technical Analysis)

على الرغم من أن Objective-C لغة برمجة وليست مرتبطة مباشرة بالخيارات الثنائية، يمكن استخدامها لتطوير أدوات تحليل فني وبرامج تداول تلقائي. لتحسين فرص النجاح في تداول الخيارات الثنائية، يمكن الاستفادة من استراتيجيات مثل:

  • **استراتيجية 60 ثانية:** تعتمد على التنبؤ بحركة السعر في غضون 60 ثانية.
  • **استراتيجية الاتجاه:** تحديد اتجاه السوق والتداول في اتجاهه.
  • **استراتيجية الاختراق:** التداول عند اختراق مستويات الدعم والمقاومة.
  • **استراتيجية المتوسطات المتحركة:** استخدام المتوسطات المتحركة لتحديد اتجاه السوق ونقاط الدخول والخروج.
  • **استراتيجية مؤشر القوة النسبية (RSI):** استخدام مؤشر RSI لتحديد مناطق ذروة الشراء والبيع.
  • **استراتيجية MACD:** استخدام مؤشر MACD لتحديد اتجاه السوق ونقاط الدخول والخروج.
  • **استراتيجية بولينجر باندز:** استخدام بولينجر باندز لتحديد التقلبات ونقاط الدخول والخروج.
  • **استراتيجية أنماط الشموع اليابانية:** التعرف على أنماط الشموع اليابانية للتنبؤ بحركة السعر.
  • **استراتيجية فيبوناتشي:** استخدام مستويات فيبوناتشي لتحديد مستويات الدعم والمقاومة المحتملة.
  • **استراتيجية التحليل الحجمي:** تحليل حجم التداول لتأكيد الاتجاهات وتحديد نقاط الدخول والخروج.

بالإضافة إلى ذلك، يمكن استخدام أدوات التحليل الفني مثل:

  • **مستويات الدعم والمقاومة:** تحديد المستويات التي يميل السعر إلى الارتداد منها.
  • **خطوط الاتجاه:** تحديد اتجاه السوق.
  • **المتوسطات المتحركة:** تنعيم بيانات السعر لتحديد الاتجاه.
  • **مؤشرات التذبذب:** قياس قوة الاتجاه.
  • **مؤشرات الحجم:** قياس حجم التداول.
  • **أنماط الشموع اليابانية:** التعرف على أنماط الشموع اليابانية للتنبؤ بحركة السعر.

ويمكن أيضاً استخدام أدوات تحليل حجم التداول مثل:

  • **حجم التداول (Volume):** عدد الأسهم أو العقود المتداولة في فترة زمنية معينة.
  • **مؤشر حجم التداول المتراكم (OBV):** يقيس العلاقة بين السعر وحجم التداول.
  • **مؤشر التدفق النقدي (MFI):** يقيس قوة الاتجاه بناءً على السعر وحجم التداول.

الموارد الإضافية

الخلاصة

Objective-C هي لغة قوية ومرنة تستخدم على نطاق واسع في تطوير تطبيقات Apple. على الرغم من أن Swift هي اللغة المفضلة حاليًا، إلا أن Objective-C لا تزال ذات صلة ولها أهمية تاريخية كبيرة. من خلال فهم المفاهيم الأساسية وبنية اللغة، يمكنك البدء في تطوير تطبيقات Objective-C الخاصة بك. تذكر أن الممارسة والتجربة هما المفتاح لإتقان أي لغة برمجة. ```

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер