الثلاثاء، 9 سبتمبر 2014

تعلم AS3 - جزء2 [ OOP ] - الدرس 1.2 [الكلاسات و الكائنات]


السلام عليكم و رحمة الله
مرحبا بكم في درس جديد من دورة تعلم الاكشن سكربت3
في الدرس السابق تحدثنا عن الكلاسات و الكائنات لكن ليس بصفة نظرية
 قلنا انه بامكاننا صنع نوع جديد من المتغيرات
و هذا عن طريق انشاء الكلاسات
و قلنا -انها كالعجيبنة التي تمكننا من صنع الكثير من الكائنات من نفس النوع
في هذا الدرس سنقوم بتطبيق تلك المفاهيم على الاكشن سكربت 3
خطوة ب خطوة

______________________________ 


كيفية صنع كلاس في الاكشن سكربت3 (Syntax) :

package  //class directory
{
       public class  name
      {
        //attributes
        //methodes
      }
}

_____________________________________________________________

Package
معمولة لتسهل علينا البرمجة حيث يتم وضع مجموعة كلاسات من نفس الموضوع
داخل نفس المجلد
و هذا يجعل مشروعنا اكثر تنظيما و أناقة فمثلا لدينا الكثير من الكلاسات
و لدينا كلاسات تخص لاعبنا
نريد انشاء كلاس جديدة اسمها character
نقوم بانشاء مجلد اسمه player

ثم نقوم بانشاء الكلاس character داخل مجلد player ليصبح الكود هكذا

package player
{
     public class character
    {
       //attributes & methods
    }
}

_______________________________________________________________


تطبيق

سنقوم بانشاء أول كلاس لنا
في الاكشن سكربت 3 الكلاسات يتم انشاءها في ملفات من نوع.as
اتبع الخطوات التالية:

1.قم بانشاء مشروع جديد من نوع ActionScript3


2.قم بحفظ المشروع في مجلد
3.قم بانشاء كلاس جديد
File -> new.. -> ActionScript 3.0 Class
و اعطيها اسمplayer
4.قم بحفظها داخل نفس مجلد المشروع
سنلاحظ انه تشكل لنا هذا الكود


package
}
 public class player      
}     
          public  function player()    
         {      
            //constructor code         
          } 
    }
}


الان عد الى المشروع و اضغط على اطار لكتابة أكواد الاكشن سكربت 3  من TIMELINE


و اكتب ما يلي

var  p1: player = new player();
trace(p1  is  player );


نقوم بتشغيل البرنامج عن طريق
Ctrl + enter
او
Control -> Test Scene
سيكتب لنا true


يعني ان p1 من نوع player
كما نرى قمنا بنشاء نوع جديد من الكائنات 
نقول أن p1 هوinstance  للكلاسplayer

لايمكن انشاء كائن او متغير له اسم كلاس
 يعني ممنوع كتابة
var player: player = new player();
_________________________________________________________

ماذا حدث بالظبط؟؟

سندرس هذا السطر 
 var p1: player =new player();

var p1: player;
فلنفرض انه لا وجود لnew player()
قمنا بانشاء كائن من نوع playerدون اعطاء قيمة
لحد الان هذا الكائنا قيمتهnull


new player();
هنا قمنا بانشاء الكائن

المترجم يدخل الى الكلاس player
و يقوم بتنفيذ الدالة player اوتوماتيكيا
هذه الدالة لها نفس اسم الكلاس و هي اجبارية حتى لو كانت فارغة
تدعى ب constructor

قبل قليل عندما انشأنا الكلاس 
  كانت هناك دالة لها نفس اسم الكلاس و مكتوب داخلها
   constructor code
    و هي اول دالة تنفذ عند انشاء كائن جديد


لكي نتأكد من هذا نقوم بالدخول الى الكلاسplayer مرة اخرى
و نكتب هذا الكود داخلconstructor
trace(‘constructor executed!‘);
لتصبح الكلاس هكذا 
  
package
{  
    public class player()                              
    {
         public function player() 
        { 
           trace(‘constructor exectued!’);
        } 
   } 
{

الان نعيد تشغيل البرنامج بctrl + enter

نرى أنه يكتب لنا
Constructor executed!

و هذا يدل ان ال method 
 ()player قد تم استدعاءها اوتوماتيكيا

__________________________________________



في الدرس القادم سنكمل هذه الكلاس و سنضع فيها
بعض المتغيرات و الدوال



ليست هناك تعليقات:

إرسال تعليق


جميع الحقوق محفوظة لمدونة 2014-2015 as3arabic |