آموزش ها » آموزش Flash


  مفهوم شی گرایی و آشنایی با کلاس ها در فلش
نويسنده : مجید آنلاین
تاريخ :  7 / 5 / 1387

اشيا : جهاني را كه در آن زندگي مي كنيد در نظر بگيريد . اطراف شما پر از شي هاي گوناگون است . اين شي ها تفاوت هاي بسياري با هم دارند اما در يك ويژگي با هم مشتركند : همه ي آنها از مجموعه اي از خصوصيات و رفتارها تشكيل شده اند . براي مثال يك گربه خصوصياتي مانند اندازه ، رنگ ، وزن و . . . و رفتارهايي مانند خوردن ، خوابيدن ، ميوميو كردن و . . . دارد .
اشيا در برنامه نويسي شي گرا ( Object Oriented Programming ) هم بر همين مفاهيم بنا شده اند يعني در برنامه نويسي شي گرا هر شي داراي مجموعه اي از خصوصيات ( properties ) و رفتارهاست ( Methodes ) .

مفهوم كلاسها :

اكشن اسكريپت و زبانهاي برنامه نويسي امكان ايجاد و كار كردن با اشيا را به كمك كلاسها ممكن مي سازند .

كلاس خصوصيات و متدهاي كلي مشترك ميان دسته اي از اشيا تعيين مي كند سپس با نمونه سازي از آن كلاس ميتوان شي مورد نظر را با خصوصيات خاص خودش ايجاد كرد .
يك كلاس را مي توان به نقشه ي يك خانه تشبيه كرد كه مي توان ساختمانهاي زيادي از روي آن ساخت اما هيچكدام از ساختمانها كاملا مشابه نيستند و مثلا در رنگ و نما باهم تفاوت دارند .
چگونگي ايجاد و استفاده از كلاسها در فلش :
براي روشن شدن مطلب از يك مثال استفاده مي كنم :


class Box{
                 var tool:Number;
                 var arz:Number;
                 var ertefa:Number;
                 function Box(t:Number ,a:Number ,e:Number ) {
                           this.tool=t;
                           this.arz=a;
                           this.ertefa=e;
                  }
}



در اين مثال كلاسي به نام Box ايجاد مي شود كه از سه properties و يك متد ( constructor ) تشكيل شده است . يعني با نمونه سازي از اين كلاس مي توانيد جعبه هايي ايجاد كنيد كه طول - عرض و ارتفاع خاص خودشان را داشته باشند .

همانطور كه مي دانيد يا متوجه شده ايد تعريف هر كلاس با كلمه ي class شروع مي شود سپس نام كلاس نوشته مي شود و بعد از آن خصوصيات و متدها بين { } تعريف مي شوند .
متن كلاس بايد در يك فايل با پسوند AS نوشته و ذخيره شود .
ساده ترين راه استفاده از يك كلاس اين است كه فايلي را كه قصد داريد نمونه كلاس را در آن ايجاد كنيد در كنار فايل كلاس ذخيره كنيد و سپس با عبارتي مثل عبارت زير نمونه اي از آن ايجاد كنيد :

var myBox:Box = new Box(10,30,15);
 trace(myBox.tool); // 10
 trace(myBox.arz); // 30
 trace(myBox.ertefa); // 15


نهان سازي : يكي ديگر از ويژگي هاي OOP نهان سازي است . هدف از نهان سازي پوشاندن پيچيدگي هاست . براي مثال يك اتومبيل رو در نظر بگيريد . اصلا نيازي نيست يك راننده براي استفاده از اتومبيل تك تك اجزا و قطعات اتومبيل رو بشناسه فقط بايد با تعداد محدودي از ابزارها مثل دنده ، فرمان ، ترمز و . . . . كار كنه .
از مثال كه خارج شويم در برنامه نويسي شي گرا هم مي توان نمونه كلاسي (شي) داشت كه اعضاي ( متدها و متغيرها ) زيادي داشته باشد اما اصلا نيازي نباشد كه به طور مستقيم از همه ي آنها استفاده كرد .
اكشن و زبانهاي برنامه نويسي امكان نهان سازي را به وسيله ي مولفه هاي دستيابي ممكن مي سازند . اين مولفه ها عبارتند از : public ، private
با يك مثال كاربرد اين مولفه ها را نشان مي دهم :
class Box{
                 var tool:Number;
                 var arz:Number;
                 var ertefa:Number;
                 function Box(t:Number ,a:Number ,e:Number ) {
                           this.tool=t;
                           this.arz=a;
                           this.ertefa=e;
                  }
}




خوب اين همون كلاس قبلي است با كمي تغيير : پيش از متغيرهاي طول ، عرض و ارتفاع عبارت private آورده شده است به اين معني كه اين متغيرها فقط به وسيله ي اعضاي همان كلاس قابل دستيابي مي باشند .
پيش از متد constructor ( متدي كه هنگام نمونه سازي با عبارت new فراخوانده مي شود ) عبارت public قرار دارد كه به اين معني است كه اين متد براي همه ي اشيا قابل دستيابي است . به وسيله ي اين متد متغيرها مقدار دهي مي شوند .
از آن جا كه متغيرها private هستند و از بيرون قابل دستيابي نيستند براي دستيابي به آنها به متد public داخل كلاس نياز داريم تا مقدار متغيرها را بگيرد و به ما بر گرداند . ازاين بعد براي دستيابي به نمونه متغيرها اينگونه عمل مي كنيم :


var myBox:Box = new Box(10,30,15);
 trace(myBox.tool); // 10
 trace(myBox.arz); // 30
 trace(myBox.ertefa); // 15


البته در اين مثال نيازي به نهان سازي نبود اما در بسياري موارد واقعا ضروري است .
فايلهاي پيوستي
MyBox.zip

نظرات كاربران :
( 3 ) پيام ها

تشکر بابت اطلاعات مفیدی که در این پست قرار دادید
با تشكر از اطلاعات جامع شما
www.varj.ir
DQYwxw yjpnfswtltiz, [url=http://rzotkdeimiff.com/]rzotkdeimiff[/url], [link=http://thanoudpyaxb.com/]thanoudpyaxb[/link], http://agomasirrckq.com/

* نام:  
* ايميل:  
* متن: Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very Sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
محدوديت تايپ: كاراكتر
* كد امنيتي:  
 
صفحه اصلي
خبرهاي انفورماتيك
آموزش ها
 مقالات كاربردي
 Adobe Flash
 Adobe Photoshop
 Visual Basic
 Delphi
 PHP
 HTML
 لينوكس
 شبكه
 ترفندهاي ويندوز
 كدهاي Javascript
 خواندنیها
مركز دانلود
سايت هاي فارسي
نمونه كارهاي شايگان
سفارش طراحي
ارسال پيام و ايده
درباره ما

نظر سنجي 
شما چه سیستم عاملی را بیشتر علاقه به یادگیری آن دارید؟
ویندوز
لینوکس
مکینتاش
سولاریس



تعداد نظرات: 70
مشاهده نتایج


تمام حقوق اين وب‌سايت متعلق به تيم نرم افزاري شايگان مي‌باشد