ein Projekt von goloroden.de

sealed

Allgemeines

Kennzeichnet eine Klasse oder eine Methode als versiegelt, so dass sie nicht vererbt werden kann. Alle versiegelten Methoden und Eigenschaften einer Klasse müssen eine entsprechende Methode oder Eigenschaft der Basisklasse überschreiben, können aber selbst nicht mehr überschrieben werden.

Beipiel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;

namespace GoloRoden.GuideToCSharp
{
    /// <summary>
    /// Represents a base class.
    /// </summary>
    public class BaseClass
    {
        /// <summary>
        /// Represents an abstract foo method.
        /// </summary>
        public abstract void Foo();
    }

    /// <summary>
    /// Represents a class that derived from BaseClass.
    /// </summary>
    public class DerivedClass : BaseClass
    {
        /// <summary>
        /// Represents a foo method that can not be
        /// overridden within derived classes.
        /// </summary>
        public override sealed void Foo()
        {
        }
    }

    /// <summary>
    /// Represents a sealed
    /// </summary>
    public sealed class SealedClass
    {
        /// <summary>
        /// Represents a bar method.
        /// </summary>
        public void Bar()
        {
        }
    }
}

Details

Wird eine Klasse versiegelt, kann sie nicht als Basisklasse für andere Klassen dienen, weshalb sie nicht mit dem Schlüsselwort abstract gekennzeichnet werden kann. Strukturen sind implizit versiegelt.

Wird eine Methode oder eine Eigenschaft versiegelt, muss die Implementierung zusätzlich mit dem Schlüsselwort override gekennzeichnet werden.

Siehe auch (Referenz)

Siehe auch (Guide)