Sealed olarak işaretlenmiş sınıflar
Sealed olarak işaretlenmiş sınıflardan kalıtım yapılamaz. Sealed sınıfların amacı kalıtımı önlemektir.
sealed class Motosiklet
{
}
Örneğindeki sınıfımızı aşağıdaki şekilde kalıtımda kullanamayız.
class ElektrikliMotosiklet : Motosiklet
{
}
Sealed olarak işaretlenmiş metodlar
Sealed olarak işaretlenmiş metodlar ise override edilebilir metodlara son davranışını atamak için kullanılır, örneğimizde ele alacak olursak ;
public class Tasit
{
public virtual void Test()
{
Console.WriteLine("Tasit tipinin Test() metodu çalıştı...");
}
}
public class MotorluTasit : Tasit
{
public sealed override void Test()
{
Console.WriteLine("MotorluTasit tipinin Test() metodu çalıştı…");
}
}
public class Motosiklet : MotorluTasit
{
//Motosiklet tipi, MotorluTasit'dan kalıtım yoluyla gelen Test() metodunun davranışını değitiremez. Metot, Tasit tipinde virtual olarak işaretlenmiş olsa MotorluTasit tipinde davranışının son hali sealed işaretlenerek bildirilmiştir.
}