Die verschachtelten Klassen ermöglichen es uns, eine Klasse innerhalb einer anderen zu definieren. Auf diese Weise können Sie auf die Informationen der Klasse zugreifen, die sie enthält. Damit können wir Anforderungen leichter erfüllen, indem wir keine unabhängigen Strukturen erstellen müssen.
Wir müssen darauf achten, dies nicht mit separaten Klassen in derselben Datei zu verwechseln, da dies ein völlig anderes Konzept ist. In diesem Fall sprechen wir über eine Klasse in einer anderen und nicht darüber, dass sie die Datei gemeinsam nutzen. Lassen Sie uns den Unterschied zwischen beiden Definitionen erkennen.
Im Bild sehen wir im oberen Teil, wie die Klassen in derselben Datei übereinander liegen. Im unteren Teil sehen wir jedoch, wie die verschachtelte Klasse innerhalb der Definition einer anderen Klasse liegt. Dieser Unterschied ist offensichtlich, aber es ist gut, dies zu tun Klärung, um Probleme in der Zukunft zu vermeiden.
Merkmale einer verschachtelten Klasse
– Una clase anidada es compilada dentro de la clase que la contiene, esto genera un archivo .class con una combinación de nombres del estilo ClaseExterna$ClaseAnidada.class, si seguimos el ejemplo de la imagen el nombre sería Prueba$Anidada.class. 1 – Eine verschachtelte Klasse wird in der Klasse kompiliert, die sie enthält. Dadurch wird eine .class- Datei mit einer Kombination von Namen des ForeignClass- Stils $ ClassAnidated.class generiert. Wenn wir dem Beispiel des Abbilds folgen, lautet der Name Test $ nested.class.
– Una clase anidada puede utilizar y hacer referencia de los atributos y métodos de la clase que la contiene sin necesidad de hacer una instancia nueva, gracias a esto podemos simplificar un poco el contenido de nuestro programa, sobre todo al trabajar con orientación a eventos , veamos en la siguiente imagen como se expresa esto: 2 – Eine verschachtelte Klasse kann die Attribute und Methoden der Klasse, die sie enthält, verwenden und referenzieren, ohne dass eine neue Instanz erstellt werden muss. Dadurch können wir den Inhalt unseres Programms ein wenig vereinfachen, insbesondere bei der Arbeit mit Ereignisorientierung Sehen wir uns im folgenden Bild an, wie dies ausgedrückt wird:
– La clase anidada puede ser afectada por modificadores de visibilidad y asumir sus características, además que también puede ser declarada como static , sin embargo si hacemos esto último solo podremos acceder a los métodos static de la clase que la contiene. 3 – Die verschachtelte Klasse kann von Sichtbarkeitsmodifikatoren beeinflusst werden und ihre Eigenschaften annehmen. Außerdem kann sie auch als statisch deklariert werden. Wenn wir dies zuletzt tun, können wir nur auf die statischen Methoden der Klasse zugreifen, die sie enthält.
– A pesar de ser clases anidadas estas pueden ser instancias por otras clases diferentes a las clases que las contienen, para ello se puede utilizar la siguiente forma: 4 – Obwohl es sich um verschachtelte Klassen handelt, können diese Instanzen von anderen Klassen als den Klassen sein, die sie enthalten. Hierzu können Sie das folgende Formular verwenden:
ExternalClass.AssignedClassAssignedClass object = ClassExternalClass.new ClassAndated ();
Falls unsere verschachtelte Klasse vom statischen Typ ist, müssen wir das folgende Formular verwenden:
Externe Klasse. ClassAnidated objectAssidedAcid = new ExternalClass.AssignedClass ();
Nachdem wir dieses Tutorial beendet haben, haben wir gesehen, wie wir verschachtelte Klassen und die mit dieser Sprachfunktion verbundene Syntax generieren können. Die Nützlichkeit dieser Arbeitsweise besteht darin, dass wir abhängige Klassen in einer einzigen großen Klasse kombinieren können, wodurch sich die Anzahl der Dateien verringert und auch den Quellcode, mit dem wir mehr Kontrolle über unsere Anwendung bekommen und unserem Entwicklerteam das Leben leichter machen, indem wir alles in der gleichen Klasse haben.