CodeBlanks Logo Icon CodeBlanks

sealed

C# kursu · Orta seviye · Ders 16/116

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

  1. 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.

  2. sealed bildirimini tamamla

    class Logger { }____
    Cevabı göster
    class Logger { }sealed
  3. 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

Orta seviye bölümündeki tüm dersler