سی شارپ

|

اموزش سی شارپ

تا اینجا با کلاس های معمولی آشنا شده ایم که در آنها با ساختن شیء جدید به اجزای کلاس دسترسی پیدا می کردیم در واقع از طریق سازنده ها می توانستیم افراد جدیدی را به کلاس اضافه کنیم مثلا در کلاس person ممکن است 100 نفر را با نام و سن و ویژگی های مختلف تعریف کنیم.

حال با کلاس های static آشنا می شویم که در این نوع کلاس نیاز به تغییر اطلاعات نداریم مانند اطلاعات یک نوسینده و کتاب های منتشر شده. ساختار کلاس static به صورت زیر است:

public static class Utility

{

public static string Author;

public static string Support;

public static string Version;

public static string Homepage;

}

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

سازنده کلاس ها نیز باید static تعریف شوند طبق مثال زیر سازنده ما access modifair ندارد پس پیش فرض به صورت private تعریف شده است و مانند کلاس های قبل می توانیم فیلدها را به صورت زیر مقداردهی اولیه کنیم:

static Utility()

{

Version = "1.2.1";

Author = "Amir Chabok";

Support = "Chabok.121@Gmail.com";

Homepage = "http://www.Cwx121.com";

}

همانگونه که گفته شد متدها نیز در کلاس static باید به صورت static تعریف می شوند به مثال های زیر توجه کنید:

public static void ShowApplicationInfo()

{

System.Console.WriteLine("\n: -----\n: Author: {0}\n: Support: {1}\n: Homepage: {2}\n: Version: {3}\n: -----", Author, Support, Homepage, Version);

}

در این مثال ما متدی از نوع void تعریف کردیم که در آن فقط می خواهیم اطلاعات را نمایش دهیم اما در مثال پایین متد ما از نوع int است که می خواهیم در آن دو متغییر وارد شده توسط کاربر را که در a و b نگهداری می شود را با هم جمع می کند.

public static int Sum(int a, int b)

{

int intResult;

intResult = a + b;

return (intResult);

int intResult = a + b;

return (intResult);

return (a + b);

}

در این مثال که نام متد را Swap در نظر گرفته ایم می خواهیم دو متغییر a و b را به کمک متغییر intTemp با هم جابجا کنیم اما توجه داسته باشید که کلمه ref در اینجا مخفف (refrence) به این معنی است که می توانیم متغییرهای a و b را تغییر دهیم در غیر این صورت نمی توانیم تغییری در متغییرها ایجاد کنیم.

public static void Swap(ref int a, ref int b)

{

int intTemp = a;

a = b;

b = intTemp;

}

در این مثال از کلمه کلیدی out برای تعریف متغییر c استفاده کردیم به این معنی که متغییر c خروجی است که محتوای آن را نمی دانیم.

public static int SomeFunction(int a, int b, out int c)

{

c = a * b;

return (a + b);

}

در کلاس های static نیاز به تعریف شیء نیست فقط با زدن ( . ) می توانیم به تمام اجزای کلاس دسترسی پیدا کنیم به صورت زیر:

Utility.Version = "1.2.1";

Utility.ShowApplicationInfo();

دریافت آخرین مطالب وبلاگ در کانال داتینه

علی نعیمی

علی نعیمی هستم،دارای لیسانس سخت افزار.
از سال 90 بصورت تخصصی به فراگیری زبان سی شارپ پرداختم. در حال حاضر مسلط به سی شارپ، جاوا، پایگاه داده و زبان های تحت وب هستم.

نظرات
نظر بدهید