سه‌شنبه ۱٧ آبان ۱۳٩٠ :: ۱۱:۱٤ ‎ب.ظ ::  نويسنده : دوست شما
 
 
با سلام .در پست های قبل با انواع متغیر ها و توابع در سی شارپ آشناشدیم و تونستیم برنامه های کوچکی رو نوشته واجرا کنیم.همچنین با نحوه ایجاد یک کلاس و یک شی از اون به طور مختصر آشنا شدیم .در این پست به مبحث مدیریت و ایجاد کلاس ها و اشیا و همچنین سازندها در کلاس ها خواهیم پرداخت.
 
برای دیدن توضیحات این پست به ادامه مطلب بروید...

ساخت و مدیریت کلاس ها و اشیاء:

در زبان #C برای تعریف کلاس جدید از کلمه کلیدی class استفاده میشود.داده ها و متد های یک کلاس در بدنه آن و بین دو آکولاد قرار دارند.بطور مثال کد زیر کلاس پرسون را ایجاد میکند که دو فیلد سن از جنس " اینت" و نام از جنس "استرینگ" دارد.

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

اکنون شی "P0" ساخته شد.توجه داشته باشید پس از ایجاد شی از یک کلاس باید آنرا برابر " کلمه کلیدی "new" و سپس نام کلاس قرار دهید".حال میخواهیم توسط این شی به فیلدهای سن و نام که در بدنه اصلی کلاس ایجاد کردیم دسترسی داشته باشیم.لذا کد زیر را مینویسیم

 

در پنجره قرمز رنگ پس از نوشتن نام شی و سپس "." شاهد متد هائی هستیم که برایمان ناشناس است و فعلا با اونها کاری نداریم اما چرا اثری از فیلد نام و سن در این جمع نیست؟؟؟به این دلیل که ما هنگام ایجاد کلاس مشخص نکردیم که خود کلاس و اجزای اون به چه شکلی قابل دسترسی باشند.ما باید نوع کلاس و فیلد ها رو از نوع عمومی یا "public"تعریف کنیم تا به کلاس و اجزای اون در بدنه اصلی دسترسی داشته باشیم.لذا کد کلاس ایجاد شده را به شکل زیر تغییر میدهیم.

حال به بدنه اصلی برنامه برمیگردیم و مثل قبل نام شی و "." را تایپ میکنیم مثل زیر:

همانطور که میبینید حالا به اعضای کلاس پرسون دسترسی داریم.میخواهیم به اعضا مقدار دهی کنیم و حاصل را مشاهده نمائیم لذا تایپ میکنیم:

و برنامه را اجرا میکنیم.صفحه زیر را میبینید:

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

سازنده ها:

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

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

حال نحوه دسترسی اشیا در برنامه اصلی توسط این کلاس ها رو به ترتیب شاهد خواهیم بید:

نکته:ترتیب سازنده ها در کلاس هیچ اهمیتی ندارد .شما میتوانید سازنده ها را به هر ترتیبی که خواستید تعریف کنید.

طریقه دسترسی به اجزای کلاس:

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

و طریقه دسترسی به این عضو از کلاس توسط متدی که در همین کلاس ساخته میشود امکان پذیر است.ببینید:

همونطور که در شکل بالا میبینید توضیحاتی به رنگ سبز رنگ بعد از "//" رو شاهد هستید .هر وقت شما دو تا "/" قرار بدید میتونید هر توضیحی رو به منظور یادآوری برای خودتون و یا برای کاربری که بعدا برنامه رو باز میکنه درج کنید که تا دلتون بخواد براتون تو پروژه های آموزشی از این توضیحات قرار دادم!اما یه وقت هم هست میخواهید یه شکل جامعتری به توضیحاتتون بدید و این توضیحات در جائی براتون ذخیره بشه و بعد بهشون دسترسی داشته باشید اونوقت که از 3 تا "/" یعنی "///" استفاده میکنید .در این حالت خود برنامه نقطه شروع و پایان توضیح رو با چند آیتم براتون اضافه میکنه که میتونید از اونها استفاده کنید بطور مثال در ابتدای هر پروژه اموزشی که در این پست ها میخونید شاهد خطوطی از این توضیحات 3 تائی به شکل زیر هستید:

خوب رسیدیم به مبحث "استاتیک" که البته در پست هفته اینده به شرح اون میپردازیم.برای درک بهتر کل مطالبی که امروز گفته شد .پروژه های آموزشی 5 تا 9 رو مطالعه و اجرا بفرمائید و خودتون هم کلاس هائی رو ایجاد نمائید.خسته نباشید...

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

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

پروژه آموزشی شماره 5

پروژه آموزشی شماره 6

پروژه آموزشی شماره 7

پروژه آموزشی شماره 8

پروژه آموزشی شماره 9

پی دی اف آموزشی این پست

2-فایل های فلاش:

فایل آموزشی کلاس

 



     
000100100001
دوست شما


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

*** We Say GOD Today ***

"

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

***Pnu121 In Google***

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

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