آموزش دونه:مرجع آموزش

کلاس های مهر و موم شده در سی شارپ (Csharp Sealed Class) آموزش برنامه نویسی سی شارپ #C

کلاس های مهر و موم

Csharp Sealed Class

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

شاید برای کسانی که حتی زیاد با شی گرایی اشنایی ندارند این سوال پیش بیاید که تفاوت sealed و private در چیست؟

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

  • ما از کلاس sealed میتوانید یک شی بسازیم ولی این امکان در کلاس private وجود ندارد.
  • از اجزای کلاس sealed در بیرون از کلاس هم به صورت شی میتوانیم استفاده کنیم اما در حالت private فقط در داخل کلاس میتوانیم استفاده کنیم.
  • کلاس sealed را میتوانیم در فضای نامی تعریف کنیم که این امکان در private وجود ندارد.خب حالا برای فهم بهتر به بررسی یک مثال از این کلاس میپردازیم.یک کلاس همراه با یک تابع ایجاد میکنیم و از کلمه کلیدی sealed استفاده میکنیم به صورت زیر:

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

حال با یک مثال کامل در محیط کنسولی به طریقه استفاده از این کلاس میپردازیم:

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

Csharp Sealed Class Csharp Sealed Class Csharp Sealed Class Csharp Sealed Class Csharp Sealed Class Csharp Sealed Class 

مطالب مرتبط