Questo argomento non è stato ancora valutato - Valuta questo argomento

sealed (Riferimenti per C#)

Il modificatore sealed può essere applicato a classi, metodi di istanze e proprietà. Una classe sealed non può essere ereditata. Un metodo sealed esegue l'override di un metodo di una classe base, ma non può essere sottoposto ulteriormente a override in nessuna classe derivata. Se applicato a un metodo o a una proprietà, il modificatore sealed deve essere sempre utilizzato con override (Riferimenti per C#).

Utilizzare il modificatore sealed in una dichiarazione di classe per evitare che la classe venga ereditata, come nell'esempio riportato di seguito:


      sealed class SealedClass 
{
    public int x; 
    public int y;
}

È errato utilizzare una classe sealed come classe base o utilizzare il modificatore abstract con una classe sealed.

Le strutture sono di tipo sealed in modo implicito e non possono pertanto essere ereditate.

Per ulteriori informazioni sull'eredità, vedere Ereditarietà (Guida per programmatori C#).

// cs_sealed_keyword.cs
using System;
sealed class SealedClass
{
    public int x;
    public int y;
}

class MainClass
{
    static void Main()
    {
        SealedClass sc = new SealedClass();
        sc.x = 110;
        sc.y = 150;
        Console.WriteLine("x = {0}, y = {1}", sc.x, sc.y);
    }
}
x = 110, y = 150

Nell'esempio precedente, se si tenta di ereditare da una classe sealed utilizzando un'istruzione di questo tipo:

class MyDerivedC: SealedClass {} // Error

verrà visualizzato il seguente messaggio di errore:

'MyDerivedC' cannot inherit from sealed class 'SealedClass'.

Per ulteriori informazioni, vedere le sezioni riportate di seguito in Specifiche del linguaggio C#:

  • 10.1.1.2 Classi sealed

  • 10.5.5 Metodi sealed

Il documento è risultato utile?
(1500 caratteri rimanenti)
Contenuto della community Aggiungi