البرمجة النصية الموجهة نحو الهدف (object-oriented scripting) :-

          هناك أنواع عديدة من أنواع البرمجة الذي كانت مجتاحة وسط تطوير البرمجيات و النظم و كان أشهرها البرمجة الهيكلية و لكن مع مرور الأيام و مع كبر البرمجيات و ظهور الحاجة إلى وسيلة أكثر سهولة في تطوير البرمجيات برزت إلى القمة طريقة البرمجة الموجهة نحو الهدف و ينبع نجاح هذه الطريقة إلى سبب واحد على الأرجح و هو استنباطها من قوانين الطبيعة فهناك في الطبيعة حيوانات و هذه الحيوانات أنواع مختلفة قد يرث بعضها صفات البعض الأخر ( على سبيل المثال إنظر إلى القط و النمر ماذا تلاحظ ؟ ) فكل من هذه الكائنات له تصرفات ( في لغة البرمجة تسمى وظائف (function،behaviours،methods) ) و له أيضا أعضاء ( في لغة البرمجة متحولات أو متغيرات (variable) أما في فلاش فتدعى صفات (properties) )

مثال :-

          إنسان class

          أحمد كائن من الإنسان (objects)

مثال

          قط class

          قطتي كائن من القطط (objects)

          و هكذا كلما تعرف صف جديد (class) فأنك تعرف  سلوكه(methods) و صفاته (properties) مثل الحقيقة تماما فعلى سبيل المثال عند تعرف الإنسان بصفة عامة فأنت تعرف سلوكه مثل المشي و الكلام و النظر و صفاته مثل لون الشعر الطول العرض و غيره من الصفات ، بصفة عامة تخيل أنك في العالم حقيقي و الكائن المنشأ من الإنسان على سبيل المثال  سمير يسمى (instance) أو (object) .

 

          الكائنات في هذه اللغة تنقسم إلى قسمين أو بأصح يمكن تمثيلها بطريقتين الطريقة الأولى هي تمثيلها كبيانات و هي الطريقة المذكورة بالأعلى أما الطريقة الثانية فهي تمثيلها بصورة رسومية في منطقة العمل على هيئة أفلام قصير (movie clips) ، أما في الحقيقة فإنها كائنات من صف معرف سابقا و هو (MovieClip) و كل كائن من هذه الكائنات سواء كان ممثلا بطريقة بيانات أو بطريقة رسومية يملك صفاته أو خاصائصه مثل (_height, _rotation, _totalframes) أو سلوكياته ووظائفه (gotoAndPlay, loadMovie, startDrag) .

 

          كلما تقوم بتعريف صف جديد فيجب عليك أن  تعرف داخل هذا الصف وظيفة خاصة تحمل نفس اسم هذا الصف و هذه الوظيفة تسمى بالبانية (constructor) و سميت بهذا الاسم لأن تستدعى فور إنشاء كائن جديد حيث تقوم بتمهيد صفات هذا الصف ، على سبيل المثال نريد أن نكتب صف عن راكب الدراجة (Biker) و هذا الصف له صفات (time ، distance) و أحب أن أنبه إن الصفات لكل صف هي عبارة عن أنماط بيانات أو متحولات أو متغيرات و هذه الكلمات الثلاثة تدل على معنى و واحد ، و سوكيات أو وظائف (rate) و هذه كلها مجتمعة تخبرك بسرعة هذا الراكب في السفر .

 

عندما تريد الإعلان عن كائن جديد (هناك فرق عندما أقول كائن و لم أقل صف أو نوع جديد ) و هذه الكائن من نوع صوت (سوف أناقش الصفوف المعرفة من قبل فلاش في موضوع متقدك) فسوف يكون هذا الإعلان على الشكل التالي :-

 

MySound = new Sound() ;

 

الآن لدينا كائن من النوع Sound له صفاته و سلوكه الخاص به . لكن كيف يمكننى الوصول إلى إلى صفات و سلوك هذا الكائن بذات . هناك طريقة للإبحار داخل الكائن ليس فقد لتحديد الخصائص و السلوك فقط بل يمكن تحديد كائن داخل كائن . وهذه الطريقة هي استخدام ( . ) النقطة فمثلا لمعرفت درجة ارتفاع الصوت للكائن السابق يمكن استخدام الوظيفة (getVolume) و لكن لتحديد الكائن الذي أقصده يجب أن أضع اسم الكائن يله النقطة و يليهما السلوك أو الخاصية التي أرديها كما هو موضح في المثال التالي :-

 

MySound.getVolume();

 

كلما تقوم بإعلان عن متغير جديد أو أي كائن فإنه يشغل حيزا من الذاكرة و مع كثرة الكائنات و المتغيرات فإن الذاكرة تبدأ بالنفاذ و يبدأ الفلم أو المقطع المصنوع بفلاش بالبطئ فماذا نفعل في تلك الحالة . لا تقلق فإن فلاش جعل لهذه المشكلة تعليمة معينة تقوم بإزالة الكائن التي لا تستخدمه من الذاكرة و كأن شيئا لم يكن و هذه التعليمة هي (delete) و يليها اسم الكائن أو المتغير الذي تريد إزالته من الذاكرة كما هو في المثال التالي :-

 

delete MySound ;