kiarash.M
Active Member
Class ها به شما این امکان رو میدن که Object هایی رو با method ها و propertie های دلخواه خودتون معرفی کنید ..
اگر بشه به صورت خیلی ساده class رو معنی کرد : میشه گفت :
کلاس ها شامل فانکشن یا فانکشن هایی هستند که به صورت جمعی یا تکی عملیاتی مرطبت با هم رو انجام میدن .
در as3 ، جمع شدن یک یا چند کلاس تشکل یک package رو میده ، که باز کلاس ها و پکیچشون دارای قعالیت های تقریبا هم رشته و هم سطجی هستند ..
چند نکته پیرامون class :
نام class یا نام فایل class باید یکی باشه و بلعکس .
اگر کلاسی داخل package ای قرار گرفت باید تمامی فولدر ها از محل اجرای کلاس تا خود پشت نام package ردیف شه :
یه عنوان نمونه اگه کلاس ما در داخل فولدر com هست و فایل fla از بیرون com اونو load میکنه ، بهد از توشتن نام package باید نام فولدر ذکر بشه :
برای نمونه یه کلاس تغریف میکنیم :
میوخایم به یه class درست کنیم که یه عدد بگیره بعد یه سری عملایت ریاضی روش انجام یده ..
.com.
همون جور که در نام package l میبینید بایت داخل یک فولدر باشه یه نام math که خودش هم تو یه فولدر یه نام com اونم یه فولدر به نام flash_package .
که این کارا دست خودمونو واسه نظام بهتر ..
حالا کنار فولدر flash_package یه فایل fla درست میکنیم ( اسمش مهم نیست ).
یهد از import کردن کلاس یه Object ازش درست میکنیم و به اون شی مقدار میدیم ، همون طور که میبینید فانکشنای تو یه کلاس از منغییر myNum استفاده مکنند که اول توسط شی ما اسجاد شده .. meMAth-->num-->myNum
یه روش دیگه هم هست که بدون استفاده از import میشه به راحتی از class استفاده کرد
برای نمونه میخوام یه کلاس بنویسم که یه من یه نام تصادفی بده
تو این کلاس اول بار یه آرگمان میگیرم ( اینو واسه این میگیریم که ببنیم این نام تصادفی چه قدر طول داره ...)
یاقیشم که عملیات ریاضی و اکشن اه ..
فقط به نحوه منغییر گرفتن دقت کنید ..
بعد از save کردن تو فایل fla مینویسیم
خودش class رو میخونه و دیگه احتیاجی به ساخت شی (Object ) نیست ..
موفق باشید.
کیارش.
اگر بشه به صورت خیلی ساده class رو معنی کرد : میشه گفت :
کلاس ها شامل فانکشن یا فانکشن هایی هستند که به صورت جمعی یا تکی عملیاتی مرطبت با هم رو انجام میدن .
در as3 ، جمع شدن یک یا چند کلاس تشکل یک package رو میده ، که باز کلاس ها و پکیچشون دارای قعالیت های تقریبا هم رشته و هم سطجی هستند ..
چند نکته پیرامون class :
نام class یا نام فایل class باید یکی باشه و بلعکس .
اگر کلاسی داخل package ای قرار گرفت باید تمامی فولدر ها از محل اجرای کلاس تا خود پشت نام package ردیف شه :
یه عنوان نمونه اگه کلاس ما در داخل فولدر com هست و فایل fla از بیرون com اونو load میکنه ، بهد از توشتن نام package باید نام فولدر ذکر بشه :
PHP:
package com{...class(s)...{...} ....}
برای نمونه یه کلاس تغریف میکنیم :
میوخایم به یه class درست کنیم که یه عدد بگیره بعد یه سری عملایت ریاضی روش انجام یده ..
PHP:
package flash_package.com.math{
class meMath{
var myNum:Number;
function meMath(num:Number){
this.myNum = num;
}
function sqrt(:Number{
return Math.sqrt(myNum);
}
function sqrtRoot():Number{
return Math.pow(myNum,0.5);
}
}//end of meMath class ;)
}
همون جور که در نام package l میبینید بایت داخل یک فولدر باشه یه نام math که خودش هم تو یه فولدر یه نام com اونم یه فولدر به نام flash_package .
که این کارا دست خودمونو واسه نظام بهتر ..
حالا کنار فولدر flash_package یه فایل fla درست میکنیم ( اسمش مهم نیست ).
یهد از import کردن کلاس یه Object ازش درست میکنیم و به اون شی مقدار میدیم ، همون طور که میبینید فانکشنای تو یه کلاس از منغییر myNum استفاده مکنند که اول توسط شی ما اسجاد شده .. meMAth-->num-->myNum
یه روش دیگه هم هست که بدون استفاده از import میشه به راحتی از class استفاده کرد
برای نمونه میخوام یه کلاس بنویسم که یه من یه نام تصادفی بده
PHP:
package {
public class rand {
public static function random_name(N:Number):String {
var Result:String="";
var alphabet:Array = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];
for (var i:Number = 0; i<N; i++) {
Result = Result+alphabet[Math.round(Math.random() *Number( alphabet.length))];
}
return Result;
}
}
}
تو این کلاس اول بار یه آرگمان میگیرم ( اینو واسه این میگیریم که ببنیم این نام تصادفی چه قدر طول داره ...)
یاقیشم که عملیات ریاضی و اکشن اه ..
فقط به نحوه منغییر گرفتن دقت کنید ..
بعد از save کردن تو فایل fla مینویسیم
PHP:
trace(rand.random_name(5))
موفق باشید.
کیارش.









