آموزش سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static))

آموزش سی شارپ قسمت پانزدهم (فضاهای نام)

آموزش سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static))

آموزش سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static)) 1282 720 ertj

آموزش سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static))

به شما پیشنهاد میکنم قبل از خاندن این مقاله ،آموزش سی شارپ ثسمت نهم (overloading(سربارگذاری) و آموزش سی شارپ قسمت دهم(Visibility (آشکار بودن)) را مطالعه نمایید.

همان طور که در فصل قبلی دیدیم، روش معمول برای ارتباط برقرار کردن با یک کلاس، ایجاد یک نمونه

جدید از کلاس در سی شارپ است و سپس کار روی روی شیء حاصل است. در بیشتر موارد؛ این

همان چیزی است در کلاس ها وجود دارد؛ توانایی برای نمونه سازی چندین کپی از یک کلاس مشابه

و سپس استفاده از آنها به شیوه هایی متفاوت. با این حال، ممکن است بخواهید کلاسی داشته باشید

که بدون نمونه سازی آن؛ از آن استفاده کنید. یا حداقل یک کلاس داشته باشید که در آن بتوانید از اعضا

بدون ایجاد یک شیء برای آنها استفاده کنید. برای مثال؛ ممکن است یک کلاس با یک متغیر داشته

باشید که بدون توجه به این که کجا و چگونه مورد استفاده قرار می گیرد؛ همیشه همان باقی می ماند.

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

نمی تواند نمونه سازی شود؛ بنابر این؛ به عبارت دیگر؛ این کلاس بیشتر به شکل گروه بندی اعضای مربوط به

هم کار می کند؛ تا این که به عنوان یک کلاس واقعی کار بکنند. شما ممکن است انتخاب کنید که در عوض یک

کلاس غیر استاتیک ایجاد کنید؛ اما به آن اجازه دهید که برخی اعضای استاتیک داشته باشد. یک کلاس غیر استاتیک

را می توان همچنان نمونه سازی کرد و مشابه یک کلاس مرتب به کار گرفت، اما شما نمی توانید از یک عضو استاتیک

روی یک شیء کلاس استفاده کنید. یک کلاس استاتیک ممکن است فقط شامل اعضای استاتیک باشد.

 سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static))

در ابتدا در این قسمت مثالی از یک کلاس استاتیک را مشاهده کنید:

public static class Rectangle

{

public static int CalculateArea(int width, int height)

{

return width * height;

}

}

از کلیدواژه استاتیک برای مشخص کردن کلاس به عنوان استاتیک استفاده می کنیم و سپس از آن دوباره برای مشخص کردن متد

و نیز CalculateArea به عنوان استاتیک به کار می رود. اگر ما اینکار را انجام ندهیم،کامپایلر،خطا می دهد، زیرا ما نمی توانیم

یک عضو غیر استاتیک از یک کلاس استاتیک داشته باشیم.

طراحی سایت شما با بهترین طراحی برای اطلاعات بیشتر کلیک کنید.

ساخت پست خودکار اینستاگرام

 سی شارپ قسمت یازدهم (اعضای استاتیک یا ایستا (Static))

برای استفاده از این متد آن را مانند زیر به صورت مستقیم در کلاس فراخوانی می کنیم:

Console.WriteLine(“The area is: ” + Rectangle.CalculateArea(5, 4));

و همچنین ما می توانیم متدهای مفید دیگری به کلاس مستطیل استفاده کنیم، اما شاید تعجب کنید که چرا ما طول

و عرض مستطیل را به متد حقیقی منتقل می کنیم؛ به جای آنکه آنها را درون کلاس ذخیره کنیم؟ زیرا آن

استاتیک است. ما می توانیم آنها را ذخیره کنیم؛ اما فقط یک مجموعه از ابعاد را می توانیم ذخیره کنیم؛

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

در عوض ما می توانیم کلاس غیر استاتیک را ایجاد کنیم و سپس در این کلاس ، CalculateArea را به عنوان یک تابع استفاده کنیم:

public class Rectangle

{

private int width, height;

public Rectangle(int width, int height)

{

this.width = width;

this.height = height;

}

public void OutputArea()

{

Console.WriteLine(“Area output: ” + Rectangle.CalculateArea(this.width, this.height));

}

public static int CalculateArea(int width, int height)

{

return width * height;

}

}

 ما کلاس غیر استاتیک را ساخته ایم. ما همچنین یک سازنده را نیزاضافه کرده ایم که طول و عرض را اتخاذ

می کند و آن را به مثال تخصیص می دهد. سپس ما یک متد OutputArea را اضافه کرده ایم

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

اعضای استاتیک با اعضای غیر استاتیک در یک کلاس غیر استاتیک می باشد.

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

ولی آنها کلاس های کمک کننده/ ابزاری هستند، که در آن شما مجموعه ای از روش های مفید

را جمع آوری می کنید، که ممکن است به هم تعلق نداشته باشند، اما به نظر نمی رسد که در جای دیگر

مناسب باشد.

طراحی سایت شما با بهترین طراحی برای اطلاعات بیشتر کلیک کنید.

ساخت پست خودکار اینستاگرام

  • مقاله های زیر نیز به شما پیشنهاد میشود.

آموزش سی شارپ قسمت دوازدهم (کلاس های انتزاعی (Abstract))

 

 

 

0/5 (0 Reviews)

– Hi there I’m –

Jhon Martin

Freelancer Designer

Motion Graphics

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

Application Design

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

Dedicated Support

Stet solum ceteros ad pri, amet alia scripta qui ea. Cum an aeterno efficiantur. Sit nihil detracto et, ut tota aeterno suscipiantur pri.

– Checkout –

My Work

Lorem ipsum vulputate eu sit mi. Pharetra vitae eu ornare eu viverra nibh. Sed vehicula. A bibendum mi hendrerit Aliquam hendrerit aliquet pharetra purus, sit elit. Morbi luctus tempus volutpat.

Built Mockups

Mel alia vituperata contentiones cu, ei indoctum definiebas nec, no est nostro accumsan oporteat. Has mnesarchum intellegam ei, te populo option vel, adhuc expetenda nam id.

Introduce UI Kit

Vero graeco pertinacia ad per. Usu ferri nonumy option ei, et vix iisque quaeque rationibus. Est cu malorum dolorum. Ea clita nostrud qui, ei mel quando phaedrum. Ea vis viris malorum laboramus, no quot eligendi qui. Ea tamquam vulputate ius, pri solet graece scaevola ad.

Masterfully Handcrafted for Awesomeness

WE DO MOVE

YOUR WORLD

Greatives – Design, Marketing, Sales

ساعت کاری فروشگاه:  : 09:00 – 22:00
آدرس : کرج کیانمهر شهرک ابریشم مجتمع تجاری پانی سان پلاک 5
تلفن: 09129051862-02691032191