تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - مفاهیم کلاس و شیء در سی شارپ
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر takcoder.ir


آموزش برنامه نویسی با استفاده از نوین ترین روش و ارائه پروژه های نمونه و مجموعه عظیم سورس کدهای آماده برای شما دوستان

مدیر سایت : Yahya Taherzadeh
نویسندگان
نظرسنجی
زبان برنامه نویسی مورد علاقه شما؟






مفاهیم کلاس و شیء

سی شارپ یك زبان شیء گراست به این معنی كه هرآنچه كه در سی شارپ وجود دارد در غالب دو مفهوم كلاس (Class) و شیء (Object) و روابط بین آنها خلاصه می شود.

......

كلاس(Class):

در واقع یك ایده (Concept) یا ذهنیت می باشد. مثلا یك نجار چه ذهنیتی نصبت به یك “میز” دارد؟ خوب مسلما یه صفحه , چهار پایه و …. این ذهنیتی است كه یك نجار نسبت به “میز” دارد. این دقیقا مفهوم كلاس است. یعنی تا موقعی كه آن میز ساخته نشه فقط یك ذهنیت یا در واقع كلاس است.

شیء (Object):

اشیاء موجودیت هایی هستند كه از كلاس ها (ذهنیت) ساخته می شوند. باز برای مثال همان نجار وقتی ذهنیتش رو به واقعیت تبدیل می كنه در واقع یك میز می سازه یا یك Object (شیء) ایجاد كرده است.حالا اگر یكم دقت كنیم می بینیم كه توی دنیای واقعی هم همینطوره. مفهوم انسان یك كلاس است و وقتی یك نفر متولد می شود یك شیء از آن كلاس داریم.باز وقتی بیشتر دقت می كنیم می بینیم كه همه كلاس ها (ذهنیت ها) می تونن یكسری مشخصات داشته باشند.

مثلا انسان. مسلما هر انسانی اسم داره , سن داره , رنگ مو , رنگ پوست و … این اطلاعات state یا خصوصیات هر فرد هستند. و البته هر انسانی یكسریتوانمندی داره یعنی می تونه یكسری كار انجام بده. مثلا راه بره , حرف بزنه ,گوش كنه , بنویسه , …. این ها رفتار ها یا behavoir هر فرد هستند.

حالا سوالی كه پیش میاد اینه كه آیا میشه دو نفر با خصوصیات مشترك و رفتار مشترك رو یكی دونست؟

علی احمدی 33 ساله – علی احمدی 33 ساله؟

آیا به نظر شما این دو یك نفر هستند!؟!

خیر.

پس همیشه یك چیز وجود داره كه ما میتونیم دو نفر رو از هم تمیز بدیم: ما به اون می گیم Identity (وسیله شناسایی). برای این دو می تونه شماره شناسنامشون باشه یا كد ملی یا …

حالا به نظر شما برای كامپیوتر دو موجود كه دارای اطلاعات و رفتار های كاملا مشترك هستند چطور از هم تشخیص داده می شوند؟ جواب محل قرار گیریشان در حافظه است.

 

كلاسهای پایه دات نت – dot Net Base Class Library

بعداز اینكه مفهوم كلاس و شیء رو متوجه شدیم. برای اطلاعتون باید بگم كه دات نت فریم ورك حدود 2500 كلاس داره كه قبلا برای شما نوشته شده و شما بدون اینكه احتیاجی به نوشتنشون داشته باشین خیلی راحت می تونین از این 2500 كلاس موجود استفاده كنین.

 

Namespaceچیست؟

اگر یك مقدار فكر كنیم می بینیم كه پیدا كردن یك كلاس بین 2500 كلاس پایه و احتمالا كلاس هایی كه خودتون نام گذاری شون می كنین كار سختی خواهد بود!

Namespaceها در حقیقت این امكان رو بشما می دهند كه بتوانید كلاس های خودتون رو دسته بندی كنین و هر كلاس رو داخل دسته مورد نظر خودشون قرار بدین. به عنوان مثال ما كلاسی داریم به نام SqlConnection و همینطور كلاس دیگری به نام SqlDataAdapter و …. برای همین یك Namespace به نام System.Data.SqlClient ایجاد شده كه كلاس هایی كه مربوط به System و كار با داده ها (Data) و در نهایت مختص Sql Server هستند رو داخل این namespace قرار می دهیم. توی این تصویر تعدادی از namespace های عمومی دات نت نمایش داده شده اند.

این نكته رو هم بیاد داشته باشین كه اسم كامل یك كلاس شامل اسم به همراه نام namespace آن است:System.Data.SqlClient.SqlConnection اسم كامل ( Qualified Name) كلاس SqlConnection می باشد.

using

امااگر قرار باشد برای استفاده از یك كلاس همیشه اسم كاملش رو بنویسیم كار ماخیلی سخت می شود. برای همین شما میتوانید با یكبار نوشتن اسم Namespace آن كلاس (یا كلاس هایی كه می خواهید استفاده كنین) با استفاده از یك keyword به نام using از تكرار آن جلوگیری كنین.به عنوان مثال من در یك مثال می خواهم ده ها بار از كلاس Console و دستوراتش استفاده كنم. برای همین بالای كدم یك بار using System; رو ذكر می كنم تا از نوشتن كلمه System برای دفعات مكرر جلوگیری كنم:






نوع مطلب : آموزش، سی شارپ، 
برچسب ها : Namespace چیست، using، شیء (Object)، كلاس های پایه دات نت - dot Net Base Class Library، كلاس(Class):، کلاسها در سی شارپ، آموزش سی شارپ،
لینک های مرتبط :
Yahya Taherzadeh
جمعه 22 آذر 1392
یکشنبه 2 مهر 1396 08:54 ق.ظ
Thanks a lot for sharing this with all of us you really recognize what you are speaking about!
Bookmarked. Please also talk over with my website =). We
can have a link alternate contract among
us
دوشنبه 12 تیر 1396 07:05 ب.ظ
Glad to be one of several visitants on this awful site :D.
چهارشنبه 31 خرداد 1396 11:15 ب.ظ
Thanks for finally writing about >دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - مفاهیم کلاس و شیء در سی شارپ
<Liked it!
چهارشنبه 3 خرداد 1396 07:24 ب.ظ
This is my first time go to see at here and i am in fact pleassant to read all at alone
place.
یکشنبه 17 اردیبهشت 1396 06:22 ق.ظ
My partner and I stumbled over here coming from a different web
address and thought I might check things out. I like
what I see so now i'm following you. Look forward to looking into your web page repeatedly.
پنجشنبه 14 اردیبهشت 1396 05:15 ق.ظ
I have been browsing online more than 2 hours
today, yet I never found any interesting article like yours.

It's pretty worth enough for me. In my opinion, if all website
owners and bloggers made good content as you did, the net will be a lot more
useful than ever before.
چهارشنبه 13 اردیبهشت 1396 12:24 ب.ظ
Hello There. I found your blog using msn. This is an extremely well written article.
I'll make sure to bookmark it and return to read more
of your useful information. Thanks for the post. I'll certainly comeback.
یکشنبه 27 فروردین 1396 08:00 ب.ظ
This is my first time go to see at here and i am really happy to read all at single
place.
یکشنبه 20 فروردین 1396 11:30 ق.ظ
Hi there, of course this paragraph is really fastidious and I have learned lot of things from it regarding blogging.
thanks.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




صفحات جانبی
آمار وبلاگ
تاییدیه پرداخت
تبلیغات
به سایت تک کدر خوش آمدید