Hoe Java-compositie diepgaand te implementeren?



Dit artikel introduceert u nog een ander interessant programmeerconcept, namelijk Java Composition, en volgt het op met een demonstratie

Dit artikel zal je namelijk nog een ander interessant programmeerconcept introduceren Compositie en vervolg met een programmatische demonstratie. De volgende tips komen in dit artikel aan bod:

Compositie is een associatie die een deel van een hele relatie vertegenwoordigt waar een deel niet kan bestaan ​​zonder een geheel. Als een geheel wordt verwijderd, worden alle delen verwijderd. Het heeft een sterkere relatie.





Verderop met dit artikel over Java-compositie

wat doet alert in javascript

Belangrijkste punten

  • Het vertegenwoordigt een deel van een relatie.
  • In samenstelling zijn beide entiteiten afhankelijk van elkaar.
  • Als er een compositie is tussen twee entiteiten, kan het samengestelde object niet bestaan ​​zonder de andere entiteit. Als een order bijvoorbeeld HAS-A-regelitems heeft, is een order een geheel en zijn regelitems onderdelen
  • Als een order wordt verwijderd, moeten alle bijbehorende regelitems voor die order worden verwijderd.
  • Geef de voorkeur aan compositie boven erfenis.

Verderop met dit artikel over Java-compositie



Voordelen

Als u op zoek bent naar hergebruik van code en de relatie tussen twee klassen is has-a, dan moet u compositie gebruiken in plaats van overerving. Het voordeel van het gebruik van compositie in java is dat we de zichtbaarheid van andere objecten voor clientklassen kunnen regelen en alleen kunnen hergebruiken wat we nodig hebben. Ook als er een wijziging is in de implementatie van een andere klasse, bijvoorbeeld getSalary die String retourneert, moeten we de Person-klasse wijzigen om hieraan tegemoet te komen, maar de clientklassen hoeven niet te veranderen. Compositie maakt het mogelijk om een ​​back-endklasse te maken wanneer dat nodig is, we kunnen bijvoorbeeld de PersongetSalary-methode wijzigen om het Job-object tijdens runtime te initialiseren wanneer dat nodig is.

Verderop met dit artikel over Java-compositie

Programmavoorbeeld van Java-compositie

Laten we eens kijken naar het volgende programma dat het concept van compositie demonstreert.



sollicitatievragen voor Google Data Scientist

Stap 1:

Eerst maken we een klasse Bike waarin we gegevensleden en methoden declareren en definiëren:

class Bike {// declareren gegevens leden en methoden private String kleur private int wielen public void bikeFeatures () {System.out.println ('Bike Color =' + color + 'wheels =' + wheels)} public void setColor (String color ) {this.color = color} public void setwheels (int wheels) {this.wheels = wheels}}

Stap 2:

Ten tweede creëren we een Honda-klasse die de bovenstaande klasse Bike uitbreidt. Hier gebruikt de Honda-klasse de HondaEngine-klasse object start () methode via compositie. Nu kunnen we zeggen dat Honda-klasse HAS-A Honda Engine:
klasse Honda breidt Bike uit

{// erft alle eigenschappen van fietsklasse public void setStart () {HondaEngine e = new HondaEngine () e.start ()}}

De volgende stap in dit Java Composition-programma is

Stap 3:

Ten derde maken we een klasse HondaEngine waarmee we dit klasseobject gebruiken in Honda van boven de klasse:
klasse Honda Motor

{public void start () {System.out.println ('Engine is gestart.')} public void stop () {System.out.println ('Engine is gestopt.')}}

Laatste stap van dit Java-compositieprogramma

Stap 4:

Ten vierde maken we een klasse CompositionDemo waarin we een object van Honda-klasse maken en het initialiseren:
klasse CompositionDemo

waar wordt sas-programmering voor gebruikt
{public static void main (String [] args) {Honda h = nieuwe Honda () h.setColor ('Zwart') h.setwheels (2) h.bikeFeatures () h.setStart ()}}

Uitvoer - Java-compositie - Edureka

Hiermee zijn we aan het einde gekomen van dit artikel over ‘Java-compositie’. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.