Sadržaj
Postoje slučajevi kada naša aplikacija poprima veće dimenzije, i veličine i složenosti, osobito ako radimo u orijentiran na događaj, zato umjesto da zasebno gradimo klase, možemo napraviti ugniježđene klase.The ugniježđene klase Omogućuju nam definiranje jedne klase u drugoj, na taj način možemo pristupiti informacijama klase koja ih sadrži, s tim možemo zadovoljiti zahtjeve na jednostavniji način tako da ne moramo graditi neovisne strukture.
Ugniježđene klaseA ugniježđena klasa je klasa definirana unutar opsega ili opsega druge klase, to jest, ona je unutar klase koja će je sadržavati, to znači da umjesto da unutar unutarnje klase mora imati instancu objekta vanjske klase da koristi njene atribute i metode od tada to možemo učiniti izravno vam je nadohvat ruke.
Moramo paziti da ovo ne pomiješamo s zasebnim klasama unutar iste datoteke jer je to potpuno drugačiji koncept, u ovom slučaju govorimo o jednoj klasi u drugoj, a ne o tome da dijele datoteku, da vidimo razliku između obje definicije.
1- A ugniježđena klasa je prevedeno u klasu koja ga sadrži, to generira datoteku .razred s kombinacijom naziva stilova ClassExternal $ ClassNsted.class, ako slijedimo primjer na slici naziv bi bio Testirajte $ Nsted.class.
2- A ugniježđena klasa Možete koristiti i pozivati se na atribute i metode klase koja ga sadrži bez potrebe za izradom nove instance, zahvaljujući tome možemo malo pojednostaviti sadržaj našeg programa, osobito pri radu s orijentacija na događaj, pogledajmo na sljedećoj slici kako se to izražava:
4- Unatoč tome što su ugniježđene klase, to mogu biti instance klasa koje nisu klase koje ih sadrže, za to možete koristiti sljedeći obrazac:
ExternalClass.NstedClassNstedClassObject = ExternalClassObject.newNsted Class ();
U slučaju da je naša ugniježđena klasa tipa statički tada moramo upotrijebiti sljedeći obrazac:
Vanjska klasa. NestedClass nestedClassObject = novi OuterClass.NstedClass ();
Ovim smo završili ovaj vodič, vidjeli smo kako možemo generirati ugniježđene klase i sintaksa povezana s ovom karakteristikom jezika, korisnost ovog načina rada je u tome što ovisne klase možemo kombinirati u jednu veliku klasu, čime smanjujemo broj datoteka, a također i izvorni kod, s tim imamo veći kontrolu nad našom aplikacijom i olakšavamo život našem razvojnom timu tako što imamo sve povezane u istom razredu.