Geschachtelter Typ

Autor: Lewis Jackson
Erstelldatum: 8 Kann 2021
Aktualisierungsdatum: 15 Kann 2024
Anonim
Java SE Entwicklung with Eclipse Kapital 9 Geschachtelte Typen statiche nicht statiche Typen
Video: Java SE Entwicklung with Eclipse Kapital 9 Geschachtelte Typen statiche nicht statiche Typen

Inhalt

Definition - Was bedeutet geschachtelter Typ?

Geschachtelter Typ in C # ist ein Typ, der in einer vorhandenen Klasse oder Struktur deklariert ist. Im Gegensatz zu einem nicht verschachtelten Typ, der direkt in einer Kompilierungseinheit oder einem Namespace deklariert wird, wird der verschachtelte Typ im Bereich des enthaltenden (oder äußeren) Typs definiert.

Geschachtelter Typ wird nur verwendet, wenn sein Gültigkeitsbereich, seine Sichtbarkeit und seine Lebensdauer innerhalb des enthaltenen Typs enden, ohne sich anderen Typen auszusetzen. Das Enumerator-Member innerhalb eines Auflistungstyps wird normalerweise als verschachtelter Typ implementiert, um über die Auflistung zu iterieren. Als Iterator ermöglicht der Enumerator die Verwendung derselben clientseitigen Logik zum Iterieren der Auflistung, unabhängig von der zugrunde liegenden Struktur der Datensammlungen.

Im Allgemeinen wird ein verschachtelter Typ nur in Situationen verwendet, in denen er logisch zum enthaltenden Typ gehört. Es wird implementiert, wenn der enthaltende Typ vollständig vom verschachtelten Typ abhängt, der dabei hilft, die Implementierungsdetails des enthaltenden Typs zu kapseln. Es wird häufig in Szenarien verwendet, in denen der enthaltende Typ mit dem verschachtelten Typ für seine Implementierung direkt verwendet wird, ohne dass die Instanziierung des verschachtelten Typs erforderlich ist.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt den geschachtelten Typ

Auf einen verschachtelten Typ kann von überall im Programm zugegriffen werden, indem eine öffentliche Zugriffsberechtigung festgelegt und der vollqualifizierte Name verwendet wird.

Beispielsweise kann AddressInformation ein verschachtelter Typ sein, der im Employee-Typ deklariert ist, und der Zugriff kann über den vollständig qualifizierten Namen Employee.AddressInformation erfolgen.

Geschachtelter Typ hat die folgenden Schlüsseleigenschaften:

  • Es kann verschiedene Formen der Barrierefreiheit aufweisen, darunter private, öffentliche, geschützte, geschützte interne und interne. Standardmäßig ist der Zugriff privat.
  • Es kann auf private und geschützte Mitglieder des enthaltenen Typs zugreifen, einschließlich aller geerbten privaten und geschützten Mitglieder. Um auf diese Member zuzugreifen, muss eine Instanz des enthaltenden Typs über ihren Konstruktor an den verschachtelten Typ übergeben werden.
  • Es erlaubt mehrere Verschachtelungsebenen, wodurch der Codeblock einer verschachtelten Klasse in einer anderen definiert werden kann.
  • Es kann vom enthaltenden Typ erben und kann auch geerbt werden.
  • Private Mitglieder des verschachtelten Typs sind für den enthaltenden Typ nicht sichtbar.


Geschachtelter Typ sollte nicht verwendet werden, wenn er für die Instanziierung durch den Clientcode öffentlich verfügbar gemacht werden muss oder wenn er direkt im Clientcode referenziert wird. Es kann nicht anstelle des Namespace für logische Gruppierungskonstrukte verwendet werden.