آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

کلاس ها در زبان سی شارپ – آموزش زبان سی شارپ

  • جمعه ۳۰ فروردین ۱۳۹۸
  • بازدید ۲,۵۵۶ نفر

تصویر csharp-classes_4528 کلاس ها در زبان سی شارپ - آموزش زبان سی شارپ

کلاس ها در زبان سی شارپ

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

تعریف یک کلاس

تعریف یک کلاس با استفاده از کلمه کلیدی class انجام می شود. ابتدا کلمه کلیدی class، سپس نام کلاس و بدنه کلاس هم بین دو براکت {} قرار می گیرد. در زیر شکل کلی تعریف یک کلاس را مشاهده می کنید:

توضیحات:

  • <access specifier> سطح دسترسی به کلاس را مشخص می کند. سطح دسترسی پیش فرض برای کلاس internal و برای اعضای آن private است.
  • <data type> نوع متغیر و <return type> هم نوع داده ای که از متد بازگشت داده می شود را مشخص می کند.
  • به منظور دسترسی به اعضای کلاس باید از عملگر dot یا همان (.) استفاده شود.

مثال زیر مفهوم چیزی را که در مورد آن بحث کردیم را نشان می دهد:

امتحان کنید

زمانی که کد بالا توسط کامپایلر زبان سی شارپ اجرا شود، نتیجه زیر را تولید خواهد کرد:

توابع عضو و کپسوله سازی

تابع عضو یک تابع موجود در یک کلاس است که مانند هر متغیر دیگری تعریف یا الگویی از آن در داخل کلاس وجود دارد. متغیرهای عضو (از دیدگاه طراحی) صفات یک شیء محسوب می شوند. این متغیرها به منظور کپسوله سازی به صورت private نگه داری می شوند و تنها توسط توابع public قابل دسترسی هستند.

مثال زیر مفاهیم فوق را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

سازنده (Constructors) کلاس در زبان سی شارپ

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

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

یک سازنده پیش فرض هیچ پارامتری ندارد، اما در صورت نیاز می توان برای آن پارامتر نیز مشخص کرد. سازنده هایی که دارای پارامتر باشند، Parameterized Constructors نامیده می شوند. این تکنیک به شما کمک می کند تا زمانی که از کلاس نمونه سازی می کنید، بتوانید یک مقدار اولیه به شیء آن کلاس تخصیص دهید.

مانند نمونه زیر:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

مخرب (Destructors) کلاس در زبان سی شارپ

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

مخرب به منظور آزاد سازی فضای حافظه اشغال شده توسط برنامه، قبل از خروج از برنامه بسیار مفید هستند. مخرب ها قابلیت به ارث برده شدن و overloaded را ندارند.

مثال زیر مفهوم مخرب را توضیح می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

اعضای استاتیک یک کلاس در سی شارپ

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

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

مثال زیر نحوه استفاده از متغیرهای استاتیک را نشان می دهد:

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

علاوه بر متغیرها، می توان توابع عضو را نیز به صورت استاتیک تعریف کرد. چنین توابعی فقط به متغیرهای استاتیک دسترسی دارند. اعضای استاتیک یک کلاس قبل از آن که از کلاس نمونه سازی شود، وجود دارند و می توان به آنها دسترسی داشت.

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

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است