در هفدهم : کلاس ها ، شی ها ، متد ها ، خصوصیات و متغیر های نمونه

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

در ابتدا باید قبل از این که شما با ماشین رانندگی کنید ، یک نفر باید نقشه های طراحی آن را ترسیم کند . ترسیمات به صورت کاملا جزئی انجام می شود همانند طراحی پدال گاز ، ترمز و ….پدال گاز باید طراحی شود  تا شما بتوانید با فشار دادن آن سریعتر حرکت کنید .

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

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

بیایید با استفاده از این مثال ساده یاد بگیریم که متد ها ، کلاس ها و شی ها در سی شارپ  و برنامه نویسی شی گرا چگونه کار می کنند . پس با csharpoop.com همراه باشید .

متد ها :

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

کلاس ها :

در C# کار را با ایجاد واحدی به نام کلاس که خانه متد محسوب می شود ، آغاز می کنیم ، همانند نقشه مهندسی اتومبیل که طراح پدال گاز نیز در آن وجود دارد .در یک کلاس می توان یک یا چند متد داشت که برای انجام وظایف کلاس طراحی شده اند . برای مثال ، یک کلاس می تواند نشان دهنده یک حساب بانکی  و حاوی یک متد برای میزان سپرده در حساب ، متد دیگری برای میزان برداشت پول از حساب و متد سومی برای نمایش میزان پول موجود در حساب باشد .

شی ها :

همان طور که نمی توانید با نقشه مهندسی اتومبیل رانندگی کنید ، نمی توانید با یک کلاس رانندگی کنید . قبل از اینکه بتوانید با اتومبیلی رانندگی کنید  ، باید فردی از روی نقشه اقدام به  ساخت اتومبیل کرده باشد . ، شما هم باید قبل از اینکه برنامه بتواند وظایف توصیفی در کلاس را انجام دهد ، باید یک شی از آن کلاس ایجاد کرده باشید . این یکی از دلایل شناخته شدن C# به عنوان یک زبان برنامه نویسی شی گرا است  .

فراخوانی یک متد :

زمانی که رانندگی می کنید ، با فشردن پدال گاز ،پیغامی به اتومبیل ارسال می شود  که وظیفه ای را انجام دهد . که این وظیفه سرعت اتومبیل است . به همین ترتیب ، پیغام هایی به یک شی ارسال می کنیم ، هر پیغام به عنوان فراخوانی متد شناخته می شود و به یک متد از شی اعلان می کند که وظیفه خود را انجام دهد.

صفات :

هر اتومبیل علاوه به قابلیت هایی دارای صفاتی نیز هست . همانند رنگ ، تعداد درها ، ظرفیت ، سوخت و …این صفات نیز در نقشه یک اتومبیل قرار داده می شود . هر اتومبیل دارای صفات خود می باشد و حافظ آن است .

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

خصوصیات ، توابع کمکی get و set

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

با این ترتیب نیاز نیست تا متغیر های نمونه یک شی دسترسی داشته باشید تا از آنها استفاده کنید . شما می توانید از خصوصیات یک شی استفاده کنید . خصوصیات حاوی توابع کمکی get  برای خواندن مقادیر متغیر ها و توابع کمکی Set برای ذخیره مقادیر در متغیر ها هستند .

در درس بعدی یک مثال کامل را در این زمینه ها بررسی خواهید کرد . با ما همراه باشید .

در هفدهم : کلاس ها ، شی ها ، متد ها ، خصوصیات و متغیر های نمونه
۳٫۳ (۶۶٫۶۷%) ۳ رایs

(434 نوشته)

C# Programmer , Web Design And Developer , MVC , ASP.NET

فکر شما چیست؟

آدرس ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *

حاصل جمع اعداد را وارد کنید : *