Composition umožňuje programátorům znovu použít existující třídy jejich integrací do nových tříd. Namísto duplikování kódu z více tříd, což zvyšuje znovupoužitelnost kódu. Kromě toho kompozice poskytuje flexibilitu při kombinování objektů na základě přijatých požadavků třídy. Podporuje také modularitu a činí kód přizpůsobivějším změnám.
Tento článek ukazuje podrobné vysvětlení složení v Javě pomocí příkladů.
Jak používat kompozici v Javě s příklady?
Složení podporuje volné spojení mezi třídami. Ke složeným objektům se přistupuje prostřednictvím rozhraní, abstraktních tříd nebo supertříd, které oddělují třídu klienta od konkrétních implementací. To zlepšuje udržovatelnost kódu a umožňuje snadnější testování a refaktorování.
Navštivte níže uvedený příklad pro lepší pochopení kompozice v Javě:
Příklad: Implementace konceptu kompozice v Javě
Pro implementaci konceptu kompozice začněte vytvořením dvou nebo více tříd, které zdědí funkci, a metod pro snížení času a složitosti kódu, jak je uvedeno níže:
třída Motor {soukromý řetězec typ ;
veřejný motor ( Tětiva typ ) {
tento.typ = typ ;
}
veřejný neplatné start ( ) {
System.out.println ( typ + 'Motor nastartován' ) ;
}
zastávka veřejné prázdnoty ( ) {
System.out.println ( typ + 'Motor se zastavil' ) ;
}
}
třída Kolo {
soukromá verze String;
soukromý Engine engn;
veřejné kolo ( Strunová verze, Motorový motor )
{
this.version = verze;
this.engn = motor;
}
public void startBike ( ) {
System.out.println ( 'Startování kola' + verze ) ;
engn.start ( ) ;
}
public void stopBike ( ) {
System.out.println ( 'Zastavení kola' + verze ) ;
engn.stop ( ) ;
}
}
Vysvětlení výše uvedeného kódu:
- Nejprve vytvořte třídu s názvem „ Motor “ a vyvolejte výchozí konstruktor, který přináší parametr typu String s názvem „ typ “.
- Dále deklarujte dvě funkce s názvem „ Start() ' a ' stop() “, které tisknou fiktivní zprávy na konzole.
- Poté vytvořte novou třídu s názvem „ Kolo ” a je použit výchozí konstruktor, který obsahuje proměnnou a objekt výše uvedené třídy jako parametr.
- Tyto parametry také nastavte jako hodnoty pro proměnné a objekty vytvořené ve třídě „Bike“. Zpřístupňuje hodnoty uvnitř třídy.
- Poté se vytvoří dvě funkce s názvem „ startBike() ' a ' stopBike() “, které vytisknou fiktivní zprávu.
- Nakonec zavolá funkce vytvořené v „ Motor třída ” pomocí jejího objektu s názvem “ inž “.
Nyní vložte „ hlavní() ” metoda, aby výše uvedený kód fungoval:
veřejná třída Složení {public static void main ( Tětiva [ ] argumenty ) {
Motor Nikdo = nový motor ( 'YBR' ) ;
Bike bike = nové kolo ( 'těžké kolo' , Nikdo ) ;
bik.startBike ( ) ;
bik.stopBike ( ) ;
}
}
Vysvětlení výše uvedeného kódu:
- Za prvé, předmět „ Motor 'třída je vytvořena s názvem' Nikdo ” a jeho konstruktoru je předána náhodná hodnota typu String.
- Dále vytvořte objekt pro „ Kolo “třída s názvem “ konkrétní “. Poté předejte hodnotu typu String podél objektu třídy „Engine“ jako argument jeho konstruktoru.
- Nakonec zavolejte na „ startBike() ' a ' stopBike() “ funguje pomocí “ konkrétní “objekt.
Po provedení výše uvedeného fragmentu kódu:
Výše uvedený snímek ukazuje, že data jsou získávána pomocí konceptu kompozice.
Využití kompozice v reálném čase
Existuje mnoho aplikací v reálném čase, kde koncept kompozice hraje zásadní roli. Některé z těchto
použití jsou napsána níže:
- V ' Vývoj GUI “, kompozice se běžně používá k vytváření složitých komponent uživatelského rozhraní. Třída Window může například skládat objekty jako Button, Label a Text Field.
- ' Injekce závislosti ” frameworky, jako je Spring, silně využívají kompozici k vložení závislostí do objektů.
- Složení je široce používáno v „ Návrh aplikace ” pro modelování složitých vztahů mezi objekty, jako je zákazník, transakce a zůstatek, aby představovaly bankovní účet se souvisejícími funkcemi
- Složení je zásadní v „ Vývoj založený na komponentách “, kde jsou opakovaně použitelné komponenty složeny za účelem vytvoření větších systémů.
- Kompozice se používá v různých datových strukturách ke spojení jednodušších datových struktur do složitějších.
Závěr
Kompozice se používá k vytváření složitých objektů sloučením jednoduchých objektů. Umožňuje programátorům vytvořit vztahy mezi třídami na základě „ má ” vztah, ve kterém první třída obsahuje instanci druhé třídy. Pomocí konceptu kompozice může programátor dosáhnout modulárních, opakovaně použitelných a flexibilních návrhů skládáním objektů se specifickým chováním.