عندما نتحدث عن الكائنات Objects فإننا نتحدث عن شيئين أثنين أولهما هو التصنيف Class والثاني هو الكائن Object . التصنيف Class هو المخطط Blueprint بينما الكائن Object هي الأجسام التي تنشأ من هذا المخطط مثلاً فـ لنفرض أن السلالة البشرية عبارة عن Class ويوجد نسخ لهذا الـ Class وهي الرجل والمرأة والطفل وهي تعتبر كائن Objects أو كـ مثال آخر فإن المهندس يقوم بإنشاء مخطط رئيسي لأحد المنازل ويعتبر هذا Class ومن هذا المخطط يقوم بإنشاء العديد من المنازل وهي تعتبر الكائنات Objects وذلك اعتماداً على هذا المخطط مثال عملي بطريقة أخرى الصنف String Class هناك خاصية باسم length وهي تعطيك عدد الحروف الجملة مثلا إذا قمت بإنشاء كائن String Object كما يلي :

فإن الخاصية length للكائن sTitle سوف يحمل القيمة 18 وذلك لأن عدد الحرف أو طول العبارة ActionScript Bible هي 18 حرف وإذا قمت بإنشاء كائن String Object آخر كالتالي :

فإن الخاصية length للكائن sName سوف يحمل القيمة 9 . في هذه الأمثلة قمنا بإنشاء كائنين two String Object الأول باسم sTitle والثاني باسم sName وكلا منهما قمنا بإنشائه من نفس المخطط وهو String Class ولإنشاء كائن جديد في الغالب نقوم باستخدام constructor وهي دالة استثنائية تقوم بمشاركة اسم الصنف Class وإنشاء نسخة جديد new instance ونقوم باستخدام هذا الـ constructor مع الأمر new لإنشاء كائن جديد وإذا لنقوم أولا بتعريف متغير باسم oInfo يحمل نوع البيانات Object ثم نضع علامة يساوي ثم نكتب الأمر new ثم مسافة ونكتب اسم الصنف Class وهو Object(); وننهي الأمر بفاصلة منقوطة وذلك نكون قد قمنا بإنشاء كائن Object ليصبح الأمر في النهاية بهذا الشكل :

اسم الصنف Class وهو Object متبوعاً بالقوسين هذا ما يعرف باسم constructor هذه كانت الفكرة العامة أو الأساسية لإنشاء الكائنات والأمر السابق معناه قمنا بإنشاء كائن Object جديد باسم oInfo وفي الدروس القادمة سوف نتعرف عليها أكثر فأكثر .
في الحقيقة إن الكائنات Objects هي إحدى طرق البرمجة المعروفة باسم Object-Oriented Programming ( OOP ) . بالعودة للخلف كان كل شيء يكتب في خط مستقيم مع المئات من الشروط conditional فقط للتأكد من أن شي معين قد حدث أم لا على سبيل المثال فـ لنقول أن القيادة driving هي البرنامج فإن البرنامج يبدأ أولا بالذهاب للسيارة ثم فتح الباب وبعدها إدخال المفتاح ثم تشغيل السيارة ( من هنا تبدأ السيارة ) ومن هنا يبدأ التحقق من مجموعة من الشروط إذا كنت تريد استخدام المصابيح أم لا أو إذا كنت تريد الاستماع إلى الإذاعة أم لا ويعتبر هذا البرنامج طويل ويأخذ جهد كبير ونحن لم نبدأ بالقيادة حتى الآن وهذا توضيح بسيط :

هنا يأتي دور البرمجة الموجة بالكينونات أو البرمجة الشيئية Object-Oriented Programming ( OOP ) ليسهل عليك البرمجة ويختصر الطريق لك وبذلك يكون لديك كائن واحد يحمل ثلاث عناصر وتميزه عن غيرة من الكائنات وهي :
1- الخصائص Properties :
وهي وصف للكائن وبمعنى آخر فإن كل خاصية للكائن تحمل بيانات تصف شيء محدد في هذا الكائن هناك بعض الخصائص التي تستخدم للقراءة فقط أي بمعنى لا يمكن تغيير قيمتها والبعض الآخر تستخدم للقراءة والكتابة أي يمكن تغيير قيمتها ومنها :
- movieClip_x : وهو موقع الكائن Movie Clip Object بالنسبة للإحداثي السيني أو المسافة الأفقية مقاسه بالـ Pixels وهذه الخاصية هي للقراءة والكتابة معاً .
- array.length : وهي خاصية للقراءة فقط وتعطيك عدد العناصر elements للكائن Array Object .
- Math.PI : وهي إحدى خصائص الكائن Math Object وتعتبر للقراءة فقط وتترجم إلى 3.14159265358979 roughly .
- textformat.bold : وهي إحدى خصائص الكائن TextFormat Object وهي يمكن إعطائها القيمة أما صح true أو خطأ false .
بالعودة برنامج القيادة إذا أردنا أن نقوم بإنشاء كائن له فإنه سوف يكون Car Object وبعض من خصائصه ربما تكون :
- Car.type : وهو نوع السيارة هل هي Ferrari or Liberty .
- Car.color : وهو لون السيارة هل هو احمر أو ازرق .
- Car.passengers : وهو عدد الركاب في السيارة .
وبالطبع هناك العديد من الخصائص للكائن Car Object ولكن هذه فقط معلومات عن السيارة ماذا عن عمل السيارة ؟
2- السلوكيات Methods :
إذا كانت الخصائص هي وصف للكائن فإن السلوك Method هي أفعال الكائن أي بمعنى تجعل بعض الأشياء تحدث أو بمعنى آخر هي التي تجعل الكائن يقوم بشيء معين وهذه بعض السلوكيات Methods للكائنات :
- movieClip.stop() : وهي توقف رأي التسجيل Play head لـ MovieClip معين .
- array.reverse() : وهي تقوم بعكس ترتيب العناصر الموجودة في المصفوفة Array .
- Math.random() : وهي تقوم بإعطائك رقم عشوائي ما بين العددين صفر و واحد .
والآن مع الكائن Car Object من الممكن أن تحصل على بعض السلوكيات Methods لتجعل السيارة تقوم بعمل بعض الأشياء :
- Car.start() : وهي تجعل السيارة تبدأ الحركة .
- Car.brake() : وهنا يقوم بالضغط على الفرامل .
- Car.accelerate() : وهي التي تجعل السيارة تزيد من سرعتها .
وطبعا هذه السلوكيات Methods تقوم بأعمال محدد كما بإمكانك أن تقوم بإضافة عناصر Parameters لهذه السلوكيات Methods لتقوم بمهام محددة على سبيل المثال هناك سلوك Method باسم gotoAndStop() عندما نقوم بوضعها بمفردها فإنها لا تقوم بعمل أي شيء ولكن عندما نقوم بإضافة بعض المعلومات بإمكانها أن تقوم بمهمة معينة وهذه بعض الأمثلة :
- movieClip.gotoAndStop(2) : وهي تأمر رأس التسجيل Play head بالذهاب للإطار رقم 2 ثم يقف .
- movieClip.gotoAndStop("end") : وهي تأمر رأس التسجيل Play head بالذهاب للإطار الذي يحمل اسم end ( frame labeled "end" ) .
وبالعودة للكائن Car Object بإمكاننا استخدام السلوك Method وهو accelerate() لتحديد السرعة كالتالي :
- Car.accelerate(55) : وهو يقوم بتثبيت سرعة السيارة عند 55 miles per hour .
3- الأحداث Events :
للتذكير فقط الخصائص Properties هي معلومات عن الكائن بينما السلوكيات Methods هي التي تمكن الكائن من عمل بعض الأشياء أما الأحداث Events فإنها هذه الأحداث Events تنفذ في حاله حدوث شيء معين على سبيل المثال :
- textField.onChanged : يتم تنفيذ هذا الأمر في حالة تغيير نص في حقل نص text field معين .
- button.onRelease : يتم تنفيذ هذا الأمر في حالة إفلات الزر بعد الضغط علية .
- XML.onLoad : ويتم هذا الأمر في حالة أن ملف الـ XML تم تحميله بالكامل في ملف الـ Flash .
وبالعودة للكائن Car Object ولنتخيل بعض الأحداث لهذا الكائن :
- Car.onStart : وأخبر الـ Flash بأن السيارة بدأت الحركة .
- Car.onDoorOpen : يتم تنفيذ هذا الأمر في حالة فتح أي باب من أبواب السيارة .
- Car.onBrake : أخبر الـ Flash بأنه تم الضغط على الفرامل حتى يتم إضاءة المصابيح الخلفية دليلاً على ضغط الفرامل .
- Car.onCrash : /هي تقوم ببعض المهام في حالة تعرض السيارة لحادث مثلاً إطلاق أكياس الهواء air bag .
وبذلك نكون قد تعرفنا على بعض المفاهيم والأساسيات عن الكائنات Objects وعناصره الثلاثة وسوف نتعرف عليها بشكل تفصيلي في الدروس القادمة .
تمنياتي لكم بالتوفيق
ســ لمــ لمــ
ســ لمــ لمــ









أضف تعليقا
<<الصفحة الرئيسية