Spisie treści
Zdarza się, że nasza aplikacja przybiera większe rozmiary, zarówno pod względem wielkości, jak i złożoności, zwłaszcza jeśli pracujemy w a zorientowany na wydarzenia, dlatego zamiast osobno budować klasy, możemy tworzyć klasy zagnieżdżone.ten klasy zagnieżdżone Pozwalają nam zdefiniować jedną klasę w drugiej, w ten sposób możemy uzyskać dostęp do informacji o klasie, która ją zawiera, dzięki czemu możemy spełnić wymagania w prostszy sposób bez konieczności budowania niezależnych struktur.
Klasy zagnieżdżoneA klasa zagnieżdżona jest klasą zdefiniowaną w zakresie lub zakresie innej klasy, to znaczy znajduje się w klasie, która ma ją zawierać, oznacza to, że zamiast tworzyć instancję w obrębie klasy wewnętrznej, obiekt klasy zewnętrznej używa jej atrybutów i metod możemy to zrobić bezpośrednio, ponieważ jest w Twoim zasięgu.
Musimy uważać, aby nie pomylić tego z oddzielnymi klasami w tym samym pliku, ponieważ jest to zupełnie inna koncepcja, w tym przypadku mówimy o jednej klasie w innej, a nie o tym, że dzielą plik, zobaczmy różnicę między obiema definicjami.
1- A klasa zagnieżdżona jest kompilowany do klasy, która go zawiera, generuje plik .klasa z kombinacją nazw stylów ClassExternal $ ClassNested.class, jeśli pójdziemy za przykładem na obrazku, nazwa będzie Test $ Nested.class.
2- A klasa zagnieżdżona Możesz używać i odwoływać się do atrybutów i metod klasy go zawierającej bez konieczności tworzenia nowej instancji, dzięki temu możemy nieco uprościć zawartość naszego programu, szczególnie podczas pracy z orientacja na wydarzenie, zobaczmy na poniższym obrazku, jak to się wyraża:
4- Pomimo tego, że są to klasy zagnieżdżone, mogą to być instancje klas innych niż te, które je zawierają, w tym celu możesz użyć następującego formularza:
ExternalClass.NestedClassNestedClassObject = ExternalClassObject.newNested Class ();
W przypadku, gdy nasza klasa zagnieżdżona jest typu statyczny musimy wtedy użyć następującej formy:
Klasa zewnętrzna. NestedClass nestedClassObject = new OuterClass.NestedClass ();
Na tym kończymy ten samouczek, widzieliśmy, jak możemy wygenerować klasy zagnieżdżone a składnia związana z tą cechą języka, przydatność tego sposobu pracy polega na tym, że możemy łączyć klasy zależne w jedną dużą klasę, dzięki temu zmniejszamy ilość plików i także kod źródłowy, dzięki temu mamy większą kontrolę nad naszą aplikacją i ułatwiamy życie naszemu zespołowi programistycznemu, mając wszystko, co związane z tą samą klasą.