Middle
Čo sú to vnorené triedy a ako sa používajú v programovaní?
sobes.tech AI
Odpoveď od AI
Vnorené triedy sú triedy deklarované vnútri inej triedy. Umožňujú logické skupinovanie tried, ktoré sa používajú iba na jednom mieste, zvyšujú enkapsuláciu a robia kód prehľadnejším.
Vnorené triedy sú:
- Statické (Statické vnorené triedy): Nemajú prístup k nestatickým členom vonkajšej triedy. Môžu byť vytvorené bez inštancie vonkajšej triedy.
- Nestatické (Vnorené triedy): majú prístup ku všetkým členom vonkajšej triedy (vrátane súkromných). Na vytvorenie inštancie nestatickej vnútornej triedy je potrebná inštancia vonkajšej triedy.
Použitie:
- Skrytie implementácie: Vnorená trieda môže byť použitá ako pomocná trieda, ktorej detaily implementácie by nemali byť dostupné zvonku.
- Skupinovanie: Logické spojenie úzko súvisiacich tried.
- Implementácia callbackov / poslucháčov: Často sa používa na vytváranie anonymných vnorených tried na implementáciu rozhraní alebo abstraktných tried.
- Iterátory: Vnorená trieda je vhodná na implementáciu iterátora, pretože má prístup k vnútornému stavu kolekcie.
Príklad (Java):
class OuterClass {
private int outerField;
// Statická vnorená trieda
static class StaticNestedClass {
void print() {
// Nemá prístup k outerField
System.out.println("Zo StaticNestedClass");
}
}
// Vnorená trieda
class InnerClass {
void print() {
// Má prístup k outerField
System.out.println("outerField: " + outerField);
}
}
}
// Vytvorenie inštancie statickej vnorenej triedy
OuterClass.StaticNestedClass staticNested = new OuterClass.StaticNestedClass();
staticNested.print();
// Vytvorenie inštancie vnútornej triedy
OuterClass outer = new OuterClass();
OuterClass.InnerClass inner = outer.new InnerClass();
inner.print();