sealed
sealed ile mirası engellemeyi öğrenirsin.
sealed sınıf
Bir sınıfı sealed ile işaretlersen, ondan başka sınıf miras alamaz. Bildirimi: sealed class Logger { ... }. Bu, sınıfın son tür olduğunu belirtir.
Sealed yapmak iki nedenle yararlıdır: birincisi, tasarımı kapatıp miras yoluyla istenmeyen değişiklikleri önlemek; ikincisi, derleyici ve çalışma zamanının override edilmiş metot çağrılarını hızlandırmasına izin vermek. Çünkü sealed sınıftan daha alt sınıf gelmeyeceği bellidir.
sealed metot
sealed yalnızca sınıflar için değil, override edilmiş metotlar için de kullanılabilir: public override void Log() { ... } ifadesini sealed ile mühürleyebilirsin. Böylece daha alt sınıflar bu metodu tekrar override edemez.
Bu, bir türetilmiş sınıfın davranışı sabitlemek istediğinde kullanışlıdır. Metot sealed yapılırken sınıf sealed yapılmak zorunda değildir; yalnızca o metot için kalıtım zinciri kesilir.
Uygulama Logger sınıfını sealed tanımla
Bir Logger sınıfını sealed olarak tanımla. İçine public void Log(string message) metodu ekle ve gövdede Console.WriteLine(message); yaz. Main içinde new Logger() ile örnek oluştur ve Log("Kayıt başladı") çağır.
Örnek çözümü göster
Logger'ı sealed class olarak tanımla. Log metodunu ekle. Main içine Logger l = new Logger(); l.Log("Kayıt başladı"); yaz.
Örnek çözüm:
using System;
sealed class Logger
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
class Program
{
static void Main()
{
Logger l = new Logger();
l.Log("Kayıt başladı");
}
}
Kendini test et
-
sealed class Logger'dan ne olur?
sealed class Logger { }- Logger'dan miras alınabilir
- Logger metotları silinir
- Logger statik olur
- Logger'dan miras alınamaz
Cevabı göster
Logger'dan miras alınamaz — Doğru. sealed sınıftan miras alınamaz.
-
sealed bildirimini tamamla
class Logger { }____Cevabı göster
class Logger { }sealed -
sealed kullanımını amacına eşle
- sealed class
- Sınıf mühürlenir
- sealed override
- Metot mühürlenir
- sealed
- Mirası kapatır
- Logger
- Mühürlenen sınıf