Skip to main content

Was ist eine anonyme innere Klasse?

Bei objektorientierter Computerprogrammierung ist eine anonyme innere Klasse eine Klasse, die in einer Methode deklariert wird, aber unbenannt ist.Eine anonyme innere Klasse hat mehrere Einschränkungen, die sie von einer normalen Klasse unterscheiden, einschließlich einer Einschränkung des Umfangs der Variablen, auf die sie zugreifen kann.Es gibt einige sehr spezifische Situationen, in denen die Verwendung einer anonymen inneren Klasse den Quellcode lesbarer machen kann, aber in erster Linie zur Durchsetzung der Kapselung, bei der die Erzeugung separater Klassen sie komplizieren könnte.

Die Kapselung ist das Konzept in der objektorientierten Programmierung(Oop) dass ein Objekt und seine Komponenten in irgendeiner Weise geschützt und an das Objekt gebunden sein sollten.Anonyme innere Klassen und innere Klassen im Allgemeinen tragen dazu bei, die Kapselung für besonders komplexe Objekte zu realisieren.Anstatt eine Klasse zu erstellen, die sich auf eine separate externe Stütze stützt und sie künstlich zusammenbindet und möglicherweise einige der Komponenten enthüllt, kann eine anonyme innere Klasse die beiden fest zusammenbinden.

In einigen Programmiersprachen kann eine anonyme innere Klasse eine anonyme innere KlasseHelfen Sie, die Einschränkungen des einzelnen Vererbung zu überwinden.Wenn ein Objekt von einer Klasse erbt, aber dann auf eine andere zugreifen muss, kann eine innere Klasse im laufenden Fliegen erzeugt und dann an die entsprechenden Handler weitergegeben werden.Diese Technik ist bei Rückrufen und Event -Hörern gemeinsam.Die einzige Alternative wäre, eine gesamte zweite Klasse zu erstellen, in der nur ein oder zwei Methoden überschrieben werden.Die primäre Einschränkung ist, dass eine anonyme innere Klasse nicht auf Variablen der Methode zugreifen kann, in der sie sich befindet, es sei denn, diese Variablen werden als endgültig deklariert.Dies liegt daran, dass die innere Klasse weiterhin über das Leben der Klasse und Methode hinaus funktioniert, in der sie nistet.Die Variablen der Verpackungsklasse würden zerstört, sobald ihr Leben vorbei war, sodass die Referenzen, die die von der innere Klasse gehaltene Klasse hat, sofort ungültig werden.Die einzige Ausnahme dafür ist eine endgültige Variable, da sie über die Instanz hinaus existieren wird.

Eine der spezifischeren Verwendungen für eine anonyme innere Klasse ist der Codeschutz.Viele OOP -Sprachen sorgen für einen Mechanismus, der als Reflexion bezeichnet wird.Durch die Reflexion kann ein Programm eine andere Klasse analysieren und sehen, was seine Mitgliedsvariablen und -methoden sind, jedoch nicht der Code selbst.Durch die Verwendung einer anonymen inneren Klasse wird der Inhalt der inneren Klasse vor Reflexion geschützt und die inneren Arbeiten der größeren Klasse können effektiv versteckt werden.