تور لحظه آخری
امروز : دوشنبه ، 14 خرداد 1403    احادیث و روایات:  امام علی (ع):كسى كه خداى سبحان را مى شناسد، شايسته است دلش از بيم و اميد به او خالى نباشد.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

تریدینگ ویو

خرید اکانت اسپاتیفای

کاشت ابرو

لمینت دندان

ونداد کولر

لیست قیمت گوشی شیائومی

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

طراحی سایت تهران سایت

اجاره سند در شیراز

ترازوی آزمایشگاهی

قطعات لیفتراک

وکیل تبریز

خرید اجاق گاز رومیزی

آموزش ارز دیجیتال در تهران

شاپیفای چیست

فروش اقساطی ایران خودرو

قیمت نردبان تاشو

وکیل کرج

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

سایت نوید

کود مایع

سایت نوید

Future Innovate Tech

باند اکتیو

بلیط هواپیما

بلیط هواپیما

صمغ های دارویی

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

تسمه تردمیل - روغن تردمیل

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

خرید یخچال خارجی

ویترین طلا

کاشت پای مصنوعی

مورگیج

میز جلو مبلی

سود سوز آور

پراپ رابین سود

 






آمار وبسایت

 تعداد کل بازدیدها : 1800193237




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

برنامه نويسي شي گرا ؟ -


واضح آرشیو وب فارسی:سایت ریسک: برنامه نويسي شي گرا ؟ Nasab 187 11 مرداد 1386, 09:50سلام به همگي . اگه گفتين ويژگي هاي اصلي برنامه نويسي شي گرا چه چيزهايي هستن ؟ Nasab 187 11 مرداد 1386, 11:131. اشيا : جهاني را كه در آن زندگي مي كنيد در نظر بگيريد . اطراف شما پر از شي هاي گوناگون است . اين شي ها تفاوت هاي بسياري با هم دارند اما در يك ويژگي با هم مشتركند : همه ي آنها از مجموعه اي از خصوصيات و رفتارها تشكيل شده اند . براي مثال يك گربه خصوصياتي مانند اندازه ، رنگ ، وزن و . . . و رفتارهايي مانند خوردن ، خوابيدن ، ميوميو كردن و . . . دارد . اشيا در برنامه نويسي شي گرا ( Object Oriented Programming ) هم بر همين مفاهيم بنا شده اند يعني در برنامه نويسي شي گرا هر شي داراي مجموعه اي از خصوصيات ( properties ) و رفتارهاست ( Methodes ) . Avang2005 11 مرداد 1386, 11:46با تشكر از دوست خوبم Nasab 187 Nasab 187 11 مرداد 1386, 18:56خيلي ممنون . خوب بريم سراغ ادامه بحث : مفهوم كلاسها : اكشن اسكريپت و زبانهاي برنامه نويسي امكان ايجاد و كار كردن با اشيا را به كمك كلاسها ممكن مي سازند . كلاس خصوصيات و متدهاي كلي مشترك ميان دسته اي از اشيا تعيين مي كند سپس با نمونه سازي از آن كلاس ميتوان شي مورد نظر را با خصوصيات خاص خودش ايجاد كرد . يك كلاس را مي توان به نقشه ي يك خانه تشبيه كرد كه مي توان ساختمانهاي زيادي از روي آن ساخت اما هيچكدام از ساختمانها كاملا مشابه نيستند و مثلا در رنگ و نما باهم تفاوت دارند . چگونگي ايجاد و استفاده از كلاسها در فلش : براي روشن شدن مطلب از يك مثال استفاده مي كنم : 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 roshanaiy 12 مرداد 1386, 04:18خيلي ممونم از آموزش خوبت . فقط دو تا پيشنهاد دارم 1. كدهايي رو كه مي نويسي يه توضيح مختصر هم دربارشون بده . مثلا : var متغيري است براي انجام فلان كار كه به صورت [مقدار متغير]=[نوع متغير]:[اسم متغير] Var تعريف مي شود . كاربرد آن فلان چيز است و ... الان توضيحي كه در مورد كلاس دادي خيلي خوب و مختصر مفيده . اين طوري كسايي كه با اكشن نويسي هم مشكل دارن يا اول راه هستن راه مي افتن 2. يه فايلي چيزي هم از آموزشت براي نمونه بزار مرسي از دوست خوبم كه اينا رو بهم ياد داد و مرسي از تو Nasab 187 12 مرداد 1386, 09:45تشكر ، پيشنهادها رو هم سعي مي كنم اجرا كنم . 2 . نهان سازي : يكي ديگر از ويژگي هاي OOP نهان سازي است . هدف از نهان سازي پوشاندن پيچيدگي هاست . براي مثال يك اتومبيل رو در نظر بگيريد . اصلا نيازي نيست يك راننده براي استفاده از اتومبيل تك تك اجزا و قطعات اتومبيل رو بشناسه فقط بايد با تعداد محدودي از ابزارها مثل دنده ، فرمان ، ترمز و . . . . كار كنه . از مثال كه خارج شويم در برنامه نويسي شي گرا هم مي توان نمونه كلاسي (شي) داشت كه اعضاي ( متدها و متغيرها ) زيادي داشته باشد اما اصلا نيازي نباشد كه به طور مستقيم از همه ي آنها استفاده كرد . اكشن و زبانهاي برنامه نويسي امكان نهان سازي را به وسيله ي مولفه هاي دستيابي ممكن مي سازند . اين مولفه ها عبارتند از : public ، private با يك مثال كاربرد اين مولفه ها را نشان مي دهم : class Box{ private var tool:Number; private var arz:Number; private var ertefa:Number; public function Box(t:Number , a:Number , e:Number){ this.tool=t; this.arz=a; this.ertefa=e; } public function getProperties(): Object{ var myObj:Object={tool: this.tool , arz: this.arz , ertefa: this.ertefa}; return myObj ; } } خوب اين همون كلاس قبلي است با كمي تغيير : پيش از متغيرهاي طول ، عرض و ارتفاع عبارت private آورده شده است به اين معني كه اين متغيرها فقط به وسيله ي اعضاي همان كلاس قابل دستيابي مي باشند . پيش از متد constructor ( متدي كه هنگام نمونه سازي با عبارت new فراخوانده مي شود ) عبارت public قرار دارد كه به اين معني است كه اين متد براي همه ي اشيا قابل دستيابي است . به وسيله ي اين متد متغيرها مقدار دهي مي شوند . از آن جا كه متغيرها private هستند و از بيرون قابل دستيابي نيستند براي دستيابي به آنها به متد public داخل كلاس نياز داريم تا مقدار متغيرها را بگيرد و به ما بر گرداند . ازاين بعد براي دستيابي به نمونه متغيرها اينگونه عمل مي كنيم : var myBox:Box=new Box(10,20,30); trace(myBox.getProperties().tool); trace(myBox.getProperties().arz); trace(myBox.getProperties().ertefa); البته در اين مثال نيازي به نهان سازي نبود اما در بسياري موارد واقعا ضروري است . فايلهاي پيوستي 13028 shirini_forush 21 مرداد 1386, 12:54سلام نسب جون. به بچه ها سلام برسون. پایه های OOP عبارتن از: Encapsulation Inheritance Polymorphism و اینا هم از مفاهیم مهمش هستن: Class Object Abstraction Method Message Passing بعضی از زبانها هم به جای Inheritance توی Class ها Prototype-based هستن. یعنی اشیاء از Prototype ها مشتق میشن. Nasab 187 28 مرداد 1386, 10:34سلام . اتفاقا ذكر خير شما دو نفر تو كلاس هست جاتون خاليه . :neutral: اگه كم كم درباره ي هركدام از اين ويژگي ها و مفاهيم توضيح بدي تا بحث نصفه نمونه ممنونت مي شم چون ديگه به خاطر درس و مدرسه خيلي فرصت نمي كنم بيام اينجا . :roll: mohsensemsarpour 16 آبان 1386, 01:38دوست عزیز ممنون آموزش های شما خیلی عالیه سعی کنید ادامه بدید در ضمن در مورد مفاهیم کلاس ها بیشتر توضیح دهید و اینکه آیا این کلاس های فلش دقیقا بر پایه C هستند یا نه ممنون one of the all 17 آذر 1386, 13:49سلام عالی بود میشه یه مثال کامل مثل یک بازی واسمون لینک بذاری که از کلاس ها استفاده کرده باشه؟ shirini_forush 20 آذر 1386, 19:47دوست عزیز یه دوری توی انجمن بزنید لیست نسبتا کاملی از سایت هایی که سورس فلش ارائه میدن گیر میاری. توی اون سایت ها اگر Oop بخش جدا نداشته باشه هم گیر آوردن چیزی که میخوای کاری نداره. kiarash.M 20 آذر 1386, 20:35سلام سفير رسيدن بخير!! one of the all 22 آذر 1386, 12:48من چیزی توی انجمن پیدا نکردم ... mafton 02 خرداد 1387, 15:20public function getProperties(): Object{ var myObj:Object={tool: this.tool , arz: this.arz , ertefa: this.ertefa}; return myObj ; }سلام نساب جون ممکن هست راجب این کدی که نوشتی برامون توضیح بدی Nasab 187 20 خرداد 1387, 18:33سلام فکر کنم نَسَب درست باشد . بابت تاخیر معذرت . ان شا الله بعد از کنکور فعالتر خواهم بود . واما توضیح : از آنجایی که در کلاسی که تعریف کردیم متغیرهای tool - arz و ertefa خصوصی ( private ) بودند به طور مستقیم نمی تونیم به آنها دسترسی داشته باشیم مثلا مقدارشون رو بدونیم یا تغیرشون بدیم پس برای اینکار یک تابع عمومی و قابل دسترسی در کلاس مورد نظر ایجاد می کنیم تا اون واسطه بشه و مقدار متغیرها رو به ما برگردونه . چند تا نکته : 1 . چون تابع getProperties():object داخل کلاس تعریف شده پس می تونه به اعضای خصوصی کلاس دسترسی داشته باشه . 2 . می تونیم یک تابع عمومی دیگه تعریف کنیم که مثلا به کمک اون بتونیم مقدار متغیرهای خصوصی را تغییر دهیم . شاید بپرسید فایده اش چیه چرا متغیرها رو عمومی نمی کنیم ؟ باید گفت خب بله در این مثال ساده این کار بیهوده است اما در حالتی که با متغیرهای زیادی روبه رو باشیم که تغییر هرکدوم در دیگری اثر داره حتما باید از یه همچین متدی استفاده کرد . mafton 27 خرداد 1387, 16:14ببخشید نسب جون من از مفهوم public,private,friend سر در میارم ولی تو syntax مشکل دارم تو فلش نمیدونم باید چه کار کنم اصلا اینها که ابی شده جزو کلمات رزرو شده هست دیگه مگه نه Nasab 187 28 خرداد 1387, 11:35نه اینارو من رنگی نکردم خودش اینجوری شده :D . ولی اگه بخوایم بگیم سبزها رزرو شده و آبی هارو ما تعریف کردیم . فکر کنم مشکل اینه که من درست درباره ی کلاسهای فلش و راه استفاده از اونها توضیح ندادم . در اين مثال كلاسي به نام Box ايجاد مي شود كه از سه properties و يك متد ( constructor ) تشكيل شده است . يعني با نمونه سازي از اين كلاس مي توانيد جعبه هايي ايجاد كنيد كه طول - عرض و ارتفاع خاص خودشان را داشته باشند . همانطور كه مي دانيد يا متوجه شده ايد تعريف هر كلاس با كلمه ي class شروع مي شود سپس نام كلاس نوشته مي شود و بعد از آن خصوصيات و متدها بين { } تعريف مي شوند . متن كلاس بايد در يك فايل با پسوند AS نوشته و ذخيره شود . توضیح بیشتر : 1- شما باید کلاس را در فایلی با پسوند as ذخیره کنید . برای نوشتن متن کلاس از notepad هم می تونید استفاده کنید ولی با فلش راحتتره . اگر بخواهید از فلش برای نوشتن کلاس استفاده کنید باید فلش رو باز کنید بعد ازمنوی فایل گزینه ی new را انتخاب کنید . یه پنجره باز می شه ( new document ) . در اون پنجره از قسمت generals آیتم Actionscript file رو انتخاب کنید تا وارد محیط کد نویسی بشید . 2- مرحله بعدی نوشتن کد تعریف کلاس در پنجره ی کدنویسی است . اینجوری : class [نام کلاس] { [اعضای کلاس را اینجا تعریف خواهید کرد .] } 3- حالا که برای کلاستون اسمی هم انتخاب کردید بهتره همین الان فایلتون رو ذخیره کنید . فایل را باید همنام با نام کلاس ذخیره کنید . 4- حلا نوبت به تعریف اعضای کلاس یعنی متغیرها و متد های عمومی و خصوصی است . اولین عضوی که باید تعریف کنید یک متد constructor است . متد کنستراکتور متدی همنام با کلاس است که هنگام ایجاد نمونه از کلاس فراخوانده می شود و وظیفه اش مقدار دهی اولیه ی متغیرها ست .این متد نباید هیچ مقداری را باز گرداند . به کد زیر توجه کنید : class [نام کلاس] { function [نام کلاس] (m:String){ trace(m); } } این کلاس ( هر اسمی که می خواد داشته باشه ) فقط یک کنستراکتور داره . این کنستراکتور یک پرامتر m داره . موقع ایجاد نمونه از کلاس سازنده که ما باشیم حتما باید مقدار m را هم مشخص کنیم . در این کد کنستراکتور m را نمایش می ده . ( درباره ی ایجاد نمونه از کلاس توضیح خواهم داد) یه چیزی هم درباره ی " : " بگم . علامت " : " که بعد از نام متغیر می آد صریحا نوع داده ای را که در متغیر ذخیره می شه مشخص می کنه تا مقادیر دیگر اجازه ی ذخیره شدن در آن را نداشته باشند البته دونقطه برای متدها هم بکار می ره و معنیش اینه که این متد چه چیزی رو برمی گردونه . دستورش همبرای متغیرها و متدها اینجوریه : var [نام متغیر] : [data type]; function [نام تابع]([پارامترها]) : [data type]{ } خب غیر از کنستراکتور شما می تونید هر متغیر و تابع دیگری رو که لازم دارید در کلاس مورد نظر ایجاد کنید . فقط چیزی که در تعریف کردن متغیرها و متدها قابل تامله خصوصی و عمومی بودن متغیرها و متد هاست . هر متد یا متغیر می تونه عمومی یا خصوصی باشه و عمومی یا خصوصی بودنشون با private و public مشخص می شه که دقیقا قبل از تعریف متد یا متغیر می آیند . اینجوری : [public or private] var [نام متغیر] : [data type]; و [public or private] function [نام متد] ([parametr ha]): [data type]{ } 5 - حالا فقط می مونه استفاده از کلاس : ساده ترين راه استفاده از يك كلاس اين است كه فايلي را كه قصد داريد نمونه كلاس را در آن ايجاد كنيد در كنار فايل كلاس ذخيره كنيد و سپس با عبارتي مثل عبارت زير نمونه اي از آن ايجاد كنيد : کد PHP: var myBox:Box = new Box(10,30,15); trace(myBox.tool); // 10 trace(myBox.arz); // 30 trace(myBox.ertefa); // 15 یعنی برای ایجاد نمونه کلاس بعد از انکه فایل as را کنار فایلی که می خواد از کلاس استفاده کنه(fla یا as) منتقل کردید داخل اون فایلی که میخواد از کلاس استفاده کنه از دستور زیر استفاده کنید : var [نام متغیر] : [class name]= new [class name]([parametr ha]); در واقع برای ایجاد نمونه کلاس متد کنستراکتور اون رو فرا می خونید . خب فکر می کنم دیگه چیزی نمونده باشه لطفا مثالهای قبلی و فلشهایی روکه از کلاسها استفاده می کنند بررسی کنید . Vi-Guru 03 شهريور 1387, 14:07سلام دوستان. من امير هستم . تصميم به آموزش Actionscript 3 در وبلاگ خودم را دارم. از بازدید شما خوشحال می شوم. موفق باشيد. mohsensemsarpour 20 مهر 1387, 08:05سلام ممنون از شما دوست من راستی در مورد آموزش هات باید بگم من هم شروع کردم دنبال شما بیام ما رو هم ... موفق باشید arman_p 22 مرداد 1388, 17:49با سلام چرا دیگر کسی ادامه نمی دهد؟ ما که منتظر هستیم این آموزش ادامه داده شود. سپاس




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 1845]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن