Sealed

Niyozbek Mirzayev

C# dasturlash tilida Sealed class tushunchasi mavjud.

Sealed class deb o'zidan voris (inheritance) qoldirmaydigan classlarga aytiladi. Sealed class yaratish uchun C# dasturlash tilida class yozuvidan oldin sealed kalit so'zini yozish lozim. Sealed kalit so'zi kompilyator uchun bu classdan voris olib bo'lmasligini bildiradi.

Sealed classga misol:

	sealed class class_nomi
	{
	    // xususiylatlar
	    // methodlar
	
	}

Quyidagi kodda sealed classdan voris olishga harakat qilingan:

namespace Sealed_Class
{
	internal class Program
	{
		static void Main(string[] args)
		{
			//....
		}

		// sealed classni yaratish
		public sealed class Class_nomi1
		{
			//....
		}

		//seled klassdan voris olishga harakat qilish
		public class Class_nomi2 : Class_nomi1
    		{
			//...
		}
	}
}

Agar kod ishga tushirilsa natija quyidagicha bo'ladi:

Methodlar ham sealed bo'lishi mumkin, lekin sealed qilingan methodning classi, biror-bir classning vorisi bo'lishi lozim. Methodni sealed qilinishidan asosiy maqsad: voris classdagi methodni override qilishdan himoya qilish.

(Override yoki shu kabi tamoyillar haqida bilmasangiz, oldingi maqolalarni ko'rishingiz mumkin.)

Tushunishga qiyin bo'lishi mumkin, ammo quyidagi kodda tushunish osonroq:

Yuqoridagi kodda voris bo'lgan method polymorphism yordamida sealed qilindi, yani Voris1 classidagi Add methodini boshqa classda voris olib bo'lmasligi ta'minlandi.

Quyidagi kodda, esa yuqoridagi kodning sealed qilingan methodidan voris olishga harakat qilingan:

Natija quydagicha bo'ladi:

Last updated

Was this helpful?