Şub
4
2016

C# Sealed Nedir ?

Sealed mühürlü kapalı gizli gibi anlamlara gelmektedir.

C# sınıflara ve üyelere(metot ve property) uygulanabilen bir anahtar sözcüktür.

Sınıflar için kalıtımı, üyeler için ise override edilmeyi önler.

Sealed anahtar sözcüğü bir sınıfa uygulandığında diğer sınıfların kendisinden kalıtım almasını önler.
Ama sealed sınıf diğer sınıflardan kalıtım alabilir.

Örneğin

class A {}
class B {}
sealed class C {}

sealed class C : A {} kalıtım alabilir bir sorun olmaz.

class B : C{} başka sınıflar sealed sınıftan kalıtım alamaz aşağıdaki hatayı verir.

‘B’ cannot inherit from sealed class ‘SealedClass’.

Sealed anahtar sözcüğünün fayları olarak

Sealed kalıtımı engellediği için bir çeşit güvenlik önlemi olarak düşünebiliriz.
Sealed anahtar sözcüğü performan bakımında faydalıdır.
Kalıtım vermediği için CLR adres ataması yapmaz.
Basit sınıflar değiştirilmesini istemediğimiz kütüphane gibi classlarda kullanılabilir.

Framework içerisinden String ve DBNull classları da sealed olarak işaretlenmiştir.

Yazar Hakkında

Harun Balta 63 adet yazısı bulunuyor..

Bilgisayar Mühendisliği Üzerine çalıştığım konular: C# , .Net , Silverlight , WPF , Entity Framework ,MVVM, Oracle ,Pl/Sql

Print Friendly