Oluşturmuş olduğumuz bir sınıf temel sınıf olarak kabul ettiğimiz sınıftan kalıtım yolu ile özelliklerini alabiliyordu.Kalıtımın yapılması anlamsız olması veya güvenlik nedeniyle class'a erişemeyip kalıtım dışı bir hale getirmek istiyorsak ne yapmalıyız ? . Bu gibi durumlarda oluşturmuş olduğumuz classların türetilmesini engellemek istiyorsak sealed anahtar sözcüğünü kullanmalıyız.Kalıtım yolu ile engellenen bir sınıfın yapısı aşağıdaki gibidir.
sealed class TemelSinifimiz
{
//fields,metotlar
}
Böylece türemesini engellemiş oluyoruz.Bir sınıf oluşturalım ve oluşturulan class'ı sealed ile tanımlamış olduğumuz class'tan türetmeye çalışalım.
class TemelSiniftanTureyenSinif : TemelSinifimiz
{
//fields,metotlar
}
Sealed ile tanımlanmış bir sınıftan türetme işlemi yaparsak yukarıdaki gibi "TemelSiniftanTureyenSinif': cannot derive from sealed type 'Sealed.TemelSinifimiz" yani "TemelSiniftanTureyenSinif sealed olarak işaretlenmiş TemelSinifimiz'dan türetilemez" hata mesajını alarak programımız hata verir.
Bu şekilde de oluşturulan program mantığına uygun classlar yazılabilir.
İyi çalışmalar herkese :)
Serhat TAŞ