سه‌شنبه ۱٠ آبان ۱۳٩٠ :: ۱٢:٠٧ ‎ب.ظ ::  نويسنده : دوست شما

با سلام .در پست قبل نحوه ایجاد یک برنامه ساده در محیط سی شارپ رو دیدیم و همینطور تعاریف اولیه در مورد انواع متغیر ها رو شاهد بودیم .همونطور که در پست های قبل خدمتتون عرض کردم  بین کدهای پروژه های آموزشی هر پست توضیحات مفیدی درج شده که به شما در درک برنامه کمک خواهد کرد.برای درک بهتر هر پروژه کدهای مربوط به همون پروژه رو در یک پروژه جدید بنویسید و اجرا کنید تا هم کد نویسی شما تقویت شده و هم وقتی برنامه رو خط به خط نوشته و اجرا میکنید درک بسیار مفهومی تری از آن داشته باشید.

آنچه در این پست میخوانید :

نحوه کار با دستور goto ;

نحوه کار با دستور Switch ;

نحوه کار با آرایه ها ;

نحوه کار با دستورات for و foreach;

نحوه کار با متدها;

نحوه ساخت یک کلاس و ایجاد یک آبجکت از آن ;

 برای دیدن توضیحات این پست به ادامه مطلب بروید.


 قبل از توضیح عناوینی که ذکر شد اجازه بدید کمی راجع به شکل زیر صحبت کنیم.شکل زیر شامل کدهائی است که هنگامی که یک برنامه جدید رو باز میکنید شاهدش هستید و در همه برنامه های ایجاد شده در کنسول مشترک هست:

using:این یک کلمه از پیش تعریف شده در سی شارپ میباشد.بعد از این کلمه نام یک کتابخانه که در سی شارپ موجود است آورده میشود.بطور مثال "using system" باعث میشه در هنگام کد نویسی کتابخانه "system" رو در اختیار داشته باشیم و نیاز به کد نوشتن اضافی برای دسترسی به این کتابخانه نداشته باشیم.

namespace:این کلمه مربوط به فضاهای نام در سی شارپ میباشد و باعث میشه که شما بتونید در یک برنامه ولی در فضاهای نام مختلف چند متغیر - کلاس و یا متد همنام ایجاد کنید و برنامه نیز هنگام کامپایل این موارد رو با هم اشتباه نگیرد.فضاهای نام بین دو اکولاد باز و بسته قرار میگیرند

class:بحث مهم شی گرائی از این قسمت شروع شده و به این معنی هست که شما کلاسی ایجاد نموده اید و در آن کلاس مشغول به کد نویسی هستید .هر کلاسی خصوصیات خودش را دارد. بعد از کلمه کلیدی کلاس نام کلاس به رنگ سبز رنگ بوده و بدنه کلاس بین دو آکولاد باز و بسته قرار میگیرد.در ادامه به توضیح کامل کلاس میپردازیم.

static void main ...:این قسمت متدی به نام مین زا تشکیل میدهد و خطوط برنامه بین دو آکولاد باز و بسته در بدنه این متد قرار میگیرد.در ادامه همین پست متد را بطور کامل تشریح میکنیم.

 

1- نحوه کار با دستور goto ;

اگر با زبانهایی مثل اسمبلی کار کرده باشید میدونید در این زبانها به دلیل عدم وجود حلقه for از jump استفاده میشد و به این معنی بود که برنامه نویس به کامپایلر میگوید که از خط خاصی در برنامه شروع به کامپایل نماید.در سی شارپ نیز go to به همین معنی است .پس از این تایپ این دستور باید یک برچسب نوشته شود و سپس برچسب را در جائی که میخواهید برنامه از آنجا شروع شود قرار میدهید .به این ترتیب برنامه از همان مکان اجرا خواهد شد.این دستور با قواعد برنامه نویسی شی گرا مطابقت نداشته لذا کاربرد چندانی ندارد.نحوه نوشتن دستور به شکل زیر است:

;goto Lable1

حال هر جا که خواستید برنامه از آنجا شروع شود کافیست قبل از کد ان خط Lable1 را تایپ نمائید.(پروژه آموزشی شماره 3)

 

2-نحوه کار با دستور Switch ;

دستور Switch....case برای انتخاب یک انشعاب از مجموعه ای از انتخاب ها مفید است.این دستور در جاوا و سی پلاس نیز استفاده میشده .هنگامی که عبارت داخل آرگومان switch با یکی از شروط داخل این case ها برابر باشد کدی که بعد از آن case قرار گرفته است اجرا میشودودر انتهای هر case l میباست از دستور ;break استفاده شود.بعد از کلمه switch شما میتوانید از یک متغییر استفاده کنید .در اصل switch کلمه بعد از خود را با case ها مقایسه و پاسخ میدهد.در پایان شما میتوانید به جای case از کلمه defult استفاده نمائید و این در حالیست که عبارت بعد از switch با هیچ یک از فایل ها برابر نباشد و در بدنه defult میتوانید مثلا چاپ کنید " عبارت مورد جستجو یافت نشد.شکل کلی دستور:

 

3-نحوه کار با آرایه ها ;

آرایه ها در سی شارپ با قرار دادن دو براکت تعریف میشوند و از هر نوع میتوانند باشند.بطور مثال int یک متغیر عدد صحیح معرفی میکند اما [] int آرایه ای از اعداد صحیح را ارائه میدهد.پس از تعریف نام برای یک آرایه  میبایست از کلمه کلیدی new استفاده نمائید و برای دسترسی به هر خانه از آرایه میبایست شماره مربوط به آن خانه را داخل براکت قرار داده و برابر با مقداری دهید .بطور مثال خط زیر آرایه ای یک بعدی به نام arrayintnum1 دارای 5 خانه و از جنس int تعریف میکند:

و خطوط زیر خانه های آرایه بالا را مقدار دهی مینماید.

ادامه توضیحات آرایه را در پروژه آموزشی 3 شاهد باشید.

 

4-نحوه کار با دستورات for , foreach ;

شکل کلی دستور for ;

که در آن initializer مربوط به مقدار دهی اولیه یک متغییر محلی میباشد و condition شرطیست که برنامه نویس مشخص مینماید و iterator شمارنده برنامه میباشد.برای مثال خط زیر را در نظر بگیرید:

 

خط بالا یک متغییر جدید به نام inttemp را ایجاد و با عدد صفر مقدار دهی اولیه نموده است.شرط عبارت است تا زمانی که متغییر ایجاد شده کوچکتر مساوی 10 باشد و سپس شمارنده هر بار یک واحد به inttemp اضافه میکند.در بدنه for چون یک خط داریم نیاز به آکولاد نیست و هر بار عدد مربوط به متغییر inttemp چاپ میشود (چاپ اعداد 1 تا 10)

دستور foreach نیز یک دستور بسیار مفید میباشد.و به شما اجازه میدهد در بین کالکسیونی از اشیا چرخش کنید در مورد این دستور در ادامه بطور کامل بحث خواهیم نمود اما در این جا بدانید که یک کالکسیون شیئ است که خود شامل اشیاء دیگر است در ادامه مبحث شیء گرائی این دستور را بسط میدهیم.خط زیر را در نظر بگیرید

 یک متغییر جدید به نام intNum ایجاد نموده و آنرا در آرایه arrayintnum2 میچرخاند و باعث میشود محتویات آرایه به نمایش در بیاید.دقت کنید متغییر ایجاد شده از نوع فقط خواندنی است.(پروژه آموزشی شماره 3)

5-نحوه کار با متدها;

یک متد رشته مشخصی از دستورات است.در صورتی که قبلا با زبانهائی نظیر سی و یا وی بی کار کرده باشیدخواهید دید که یک متد مشابه یک تابع و یا زیر روال است.هر متد شامل یک نام و یک بدنه است.نام متد بایستی یک شناسه معنا دار باشد که بتواند هدف کلی متد را برساند.بدنه متد شامل یکسری دستورات اجرائی در زمان فراخوانی متد است.به علاوه متد ها میتوانند اطلاعاتی برای پردازش ارائه نموده و اطلاعات را برگردانند.این اطلاعات معمولا نتیجه پردازش هستند.متدها مکانیزمی قدرتمند و اساسی هستند.یک متد به شکل زیر تعریف میشود:

returntype:نام یک نوع داده است و نوع اطلاعاتی را که متد به عنوان نتیجه برمیگرداند را مشخص میکند.این نوع میتواند از هر نوعی مثل "اینت" یا "استرینگ" باشد.اگر بخواهیم یک متد مقداری را برنگرداند از لغت "void"استفاده میکنیم.

methodname:نام بکار رفته در فراخوانی متد است .اسامی متد ها نیز از قوانین نام گذاری متغیر ها پیروی میکند

parameterslist:انتخابی است و نوع داده و اسامی اطلاعات ارسالی به متد برای پردازش را توصیف میکند.شما بایستی همانند تعریف متغیرها پارامترها را بین پرانتز باز و بسته قرار دهید و ابتدا نام نوع و سپس نام پارامتر را بنویسید.اگر متدی دارای چند پارامتر باشد باید با ویرگول از هم جدا شوند.

دستورات بدنه:خطوط کدی هستند که درزمان فراخوانی متد اجرا میشوند.این دستورات بین دو آکولاد باز و بسته قرار میگیرند.

نکته:کدی که ما در هر برنامه سی شارپ مینویسیم داخل متدی به نام "Main" قرار میگیره .این متد از نوع استاتیک بوده که در پست های بعدی استاتیک بودن رو به طور کامل شرح خواهیم داد.کد متد "Main"به صورت خودکار وقتی برنامه جدیدی رو باز میکنید ایجاد میشود.شکل زیر:

 

6-نحوه ساخت یک کلاس و ایجاد یک آبجکت از آن ;

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

کلاسها و ساختار ها قالب های اساسی هستند که از طریق آنها میتوانید اشیاء را ایجاد کنید.هر شیء شامل داده و متد هائی جهت دستکاری و دسترسی به آن داده است.کلاس تعریف میکند که هر شی خاص (که یک نمونه خوانده میشود) یک کلاس میتواند چه داده و عملکردهائی را شامل باشد.به طور مثال شما اگر یک مشتری داشته باشید ممکن است این مشتری فیلد های خاصی همچون "نام کوچک" - "نام بزرگ" - "آی دی" - و "آدرس" باشد.کلاس ها از نوع مرجع بوده و در heap ساخته میشوند اما ساختارها از نوع مقدار بوده و در پشته ذخیره میگردند و نیز از وراثت پشتیبانی نمیکنند در بقیه موارد یک کلاس بسیار شبیه یک ساختار است با این تفاوت که در تعریف به جای کلمه  " Class " از کلمه  " Struct " استفاده میشود.

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

در برنامه زیر یک کلاس با دو فیلد و یک متد ایجاد میکنیم و همچنین از کلاس ایجاد شده یک آبجکت یا شی خواهیم ساخت و به اعضای این کلاس که دو فیلد و یک متد میباشد دسترسی خواهیم داشت.برای ساخت یک کلاس پس از باز کردن یک پروژه جدید بر روی نام پروژه در پنجره "Sulotion Explorer"کلیک راست نموده و از منوی باز شده ابتدا گزینه 'Add'و سپس گزینه "Class"را کلیک نمائید به طریق شکل زیر:

در شکل بالا کلمه "Person"را به عنوان نام کلاس وارد نموده و روی گزینه "Add"کلیک مینمائیم

همانطور که در شکل بالا میبینید یک "تب"جدید در بالای صفحه ایجاد شده و همچنین کد های بالا رو  در صفحه مربوط به این کلاس شاهد هستید.نام کلاس به رنگ سبز رنگ دیده میشود.بمنظور تعریف اعضای کلاس پرسون ما یک فیلد به نام "Age" و یک فیلد به نام "FullName" و همچنین متدی به نام "Showclass"کد زیر را داخل بدنه کلاس مینویسیم:

دقت کنید عبارت داخل پرانتز کنسول رایت لاین به معنی چاپ نام و سن شخص میباشد. همچنین به عبارت "public" قبل از نام کلاس - فیلدها و متد کلاس توجه داشته باشید این عبارت باعث میشه که خود کلاس و اعضای اون در کل برنامه قابل دسترس باشند.خوب کلاسمون رو ساختیم حالا باید یک شی یا آبجکت از این کلاس بسازیم به همین منظور از قسمت بالای صفحه روی تب "Program"کلیک میکنیم به این ترتیب شاهد شکل زیر خواهید بود:

 

بمنظور تعریف یک شی از کلاسی که ساختیم کد زیر را در بدنه متد مین برنامه مینویسیم.ما در شکل زیر یک آبجکت به نام  "P1"ساخته و توسط این شی به اعضای کلاس که دوفیلد و یک متد هست دسترسی داریم.

 

دیدید چقدر ساده یک کلاس و یک شی ایجاد کردید؟خوب حالا برنامه رو اجرا کنید و ببینید چکار کردید؟

تبریک .شما اولین کلاس خودتون رو ساختید و اجرا کردید.برای درک بهتر آنچه در این پست خوندید به پروژه آموزشی شماره 4 مراجعه نمائید.خسته نباشید

 فایل های آموزشی پست دوم :

 

1-پروژه های آموزشی

 لینک دانلود پروژه آموزشی شماره 3

 لینک دانلود پروژه آموزشی شماره 4

 لینک دانلود PDF آموزشی این پست

2- فایل های آموزشی تصویری به زبان فارسی :

آموزش کار با دستورات if و Switch

آموزش کار با حلقه ها

 

3- فایل های آموزش تصویری به زبان اصلی با فرمت swf

نحوه کار با آرایه ها

نحوه کار با حلقه ها

نحوه کار با توابع

نحوه کار با کلاس ها



     
000100100001
دوست شما


مطالب وبلاگ
پيوندها
امکانات جانبی
RSS Feed

*** We Say GOD Today ***

"

*************************

***Pnu121 In Google***

*************************

-------------------------