Hoe gebruik je compositie in Java met voorbeelden?

Hoe Gebruik Je Compositie In Java Met Voorbeelden



Met compositie kunnen programmeurs bestaande klassen hergebruiken door ze in nieuwe klassen te integreren. In plaats van code uit meerdere klassen te dupliceren, wat de herbruikbaarheid van code verbetert. Bovendien biedt de compositie flexibiliteit bij het combineren van objecten op basis van de ontvangen vereisten van een klasse. Het bevordert ook de modulariteit en maakt de code beter aanpasbaar aan veranderingen.

Dit artikel demonstreert een gedetailleerde uitleg van compositie in Java met behulp van voorbeelden.







Hoe gebruik je compositie in Java met voorbeelden?

Samenstelling bevordert losse koppeling tussen klassen. De samengestelde objecten zijn toegankelijk via interfaces, abstracte klassen of superklassen, die de clientklasse loskoppelen van de specifieke implementaties. Dit verbetert de onderhoudbaarheid van de code en maakt testen en refactoring eenvoudiger.



Bezoek het onderstaande voorbeeld voor een beter begrip van compositie in Java:



Voorbeeld: Compositieconcept implementeren in Java





Begin voor het implementeren van het compositieconcept met het maken van twee of meer klassen die de functie erven, en methoden om tijd en codecomplexiteit te verminderen, zoals hieronder weergegeven:

klasse motor {
privé tekenreeks type ;
openbare motor ( Snaar type ) {
dit.type = type ;
}
openbare lege start ( ) {
Systeem.out.println ( type + 'Motor gestart' ) ;
}
openbare lege stop ( ) {
Systeem.out.println ( type + 'Motor stopte' ) ;
}
}
klasse Fiets {
private String-versie;
privé Engine motor;
openbare Fiets ( String-versie, motormotor )
{
deze.versie = versie;
dit.engn = motor;
}
openbare leegte startBike ( ) {
Systeem.out.println ( 'Starten met de fiets' + versie ) ;
engn.start ( ) ;
}
openbare leegte stopBike ( ) {
Systeem.out.println ( 'Stoppen met fietsen' + versie ) ;
dut.stop ( ) ;
}
}



Uitleg van de bovenstaande code:

  • Maak eerst een klasse met de naam ' Motor ” en roep de standaardconstructor aan die een String-typeparameter met de naam “ type ”.
  • Declareer vervolgens twee functies met de naam ' begin() ' En ' stop() ' die dummy-berichten op de console afdrukken.
  • Maak vervolgens een nieuwe klasse met de naam ' Fiets ” en de standaardconstructor wordt gebruikt die de variabele en het object van de bovenstaande klasse als parameter bevat.
  • Stel deze parameters ook in als waarden voor variabelen en objecten die binnen de klasse 'Bike' zijn gemaakt. Het maakt de waarden toegankelijk binnen de klasse.
  • Daarna worden twee functies gemaakt met de naam ' startFiets() ' En ' stopFiets() ' die een dummy-bericht afdrukken.
  • Roept uiteindelijk de functies op die zijn gemaakt in de ' Motor ” klasse door gebruik te maken van het object met de naam “ eng ”.

Voeg nu de ' voornaamst() 'methode om bovenstaande code te laten werken:

openbare klasse Samenstelling {
openbare statische leegte main ( Snaar [ ] argumenten ) {
Motor Niemand = nieuwe motor ( 'YBR' ) ;
Fiets bik = nieuwe fiets ( 'zware fiets' , Niemand ) ;
fiets.startFiets ( ) ;
fiets.stopBike ( ) ;
}
}

Uitleg van de bovenstaande code:

  • Ten eerste het doel van de “ Motor ” class wordt aangemaakt met de naam “ Niemand ” en een willekeurige waarde van het type String wordt doorgegeven aan de constructor.
  • Maak vervolgens een object voor de ' Fiets ” klas genaamd “ bijzonder ”. Geef daarna de waarde van het type String door aan het klasseobject 'Engine' als een argument voor de constructor.
  • Bel ten slotte de ' startFiets() ' En ' stopFiets() ' werkt met de ' bijzonder ' voorwerp.

Na de uitvoering van het bovenstaande codefragment:

De bovenstaande snapshot laat zien dat de gegevens worden opgehaald met behulp van het compositieconcept.

Realtime gebruik van compositie

Er zijn veel real-time toepassingen waarbij het concept compositie een cruciale rol speelt. Enkele van deze

gebruik zijn hieronder geschreven:

  • In ' GUI-ontwikkeling ”, wordt de compositie vaak gebruikt om complexe UI-componenten te bouwen. Een klasse Window kan bijvoorbeeld objecten samenstellen zoals Button, Label en Text Field.
  • De ' Injectie van afhankelijkheid Frameworks, zoals Spring, maken veel gebruik van compositie om afhankelijkheden in objecten te injecteren.
  • Compositie wordt veel gebruikt in “ Applicatie ontwerp ” om complexe relaties tussen objecten zoals Klant, Transactie en Saldo te modelleren om een ​​bankrekening met gerelateerde functionaliteiten weer te geven
  • Compositie is fundamenteel in “ Op componenten gebaseerde ontwikkeling ”, waar herbruikbare componenten worden samengesteld om grotere systemen te creëren.
  • Samenstelling wordt in verschillende datastructuren gebruikt om eenvoudigere datastructuren te combineren tot complexere.

Conclusie

Compositie wordt gebruikt om complexe objecten te creëren door eenvoudige objecten samen te voegen. Het stelt programmeurs in staat om relaties tussen klassen vast te stellen op basis van de “ heeft een ” relatie, waarin de eerste klasse een exemplaar van de tweede klasse bevat. Door het compositieconcept te gebruiken, kan de programmeur modulaire, herbruikbare en flexibele ontwerpen realiseren door objecten met specifiek gedrag samen te stellen.