Sleutelverskil – Aggregasie vs Samestelling in Java
Aggregasie is 'n assosiasie tussen twee voorwerpe wat die "het-'n"-verhouding beskryf. Die samestelling is die meer spesifieke tipe samevoeging wat eienaarskap impliseer. Die sleutelverskil tussen samevoeging en samestelling in Java is dat, as die vervatte objek kan bestaan sonder die bestaan van die besitobjek, dit 'n samevoeging is, en as die vervatte objek nie kan bestaan sonder die bestaan van die besitobjek nie, is dit 'n samestelling.
Object-Oriented Programming (OOP) is 'n belangrike paradigma in sagteware-ontwikkeling. Dit word gebruik om die sagteware met behulp van voorwerpe te modelleer. Die voorwerpe word met behulp van klasse geskep. 'n Klas bestaan uit eienskappe en metodes. Daar is verskeie voorwerpe in sagteware. Elke voorwerp werk met mekaar saam deur boodskap deur te gee. Die verhouding tussen twee voorwerpe staan bekend as 'n assosiasie. Beide samestelling en samestelling is twee tipes assosiasie. Die "het-'n"-verhouding beskryf dat een voorwerp 'n ander voorwerp kan gebruik. Aggregasie en samestelling kan in OOP ondersteunende tale geïmplementeer word. As die vervatte voorwerp kan bestaan sonder die bestaan van die besitende voorwerp, dan is die assosiasie tussen daardie twee voorwerpe 'n samevoeging. As die vervatte voorwerp nie kan bestaan sonder die bestaan van die eienaardige voorwerp nie, dan is die assosiasie tussen daardie twee voorwerpe 'n samestelling.
Wat is samevoeging in Java?
Aggregasie is 'n tipe assosiasie. As 'n klas 'n entiteitsverwysing het, staan dit bekend as samevoeging. Aggregasie verteenwoordig die het-'n-verhouding.'n Student-objek kan eienskappe soos student_id, naam, adres hê. Hierdie voorwerp kan ook 'n ander voorwerp genaamd adres hê met sy eie inligting soos stad, staat, land. In hierdie situasie het die Student 'n entiteitverwysingsadres. Dit is 'n "het-'n"-verhouding.
Figuur 01: Punte-klas
Figuur 02: Hoofprogram om Aggregasie te beskryf
Volgens bogenoemde program bestaan die klaspunte uit drie eienskappe wat Wiskunde-, Engels- en Wetenskappunte is. Die Student het 'n doel van Punte. Dit het sy eie eienskappe wat kenmerke van wiskunde, Engels en wetenskap is. In die hoofmetode word 'n voorwerp van Punte geskep en puntewaardes word toegeken. Die student-voorwerp wat s1 is, kan die punte-voorwerp wat m1 is, gebruik. Daarom het die Student en Punte die "het-'n"-verhouding. Die Punte-objek kan sonder die Student-objek bestaan. Daarom is dit 'n samevoeging.
Wat is komposisie in Java?
Komposisie is 'n tipe assosiasie. Dit is 'n spesifieke vorm van samevoeging wat eienaarskap impliseer. Aanvaar dat daar twee klasse is wat klas A en B genoem word. As die objek van klas B nie kan bestaan as die objek van klas A vernietig word nie, dan is dit 'n samestelling. 'n Boek bestaan uit baie bladsye. As die boek vernietig word, sal die bladsye ook vernietig word. Die bladsy-objekte kan nie sonder die boek-objek bestaan nie. Verwys na die onderstaande program.
Figuur 03: Klaskamerklas
Figuur 04: Skoolklas
Figuur 05: Hoofprogram om komposisie te beskryf
Volgens bogenoemde program het die Klaskamer twee eiendomme wat naam en getal Studente is. Die Skool is 'n versameling Klaskamervoorwerpe. In die hoofmetode word twee Klaskamer-objekte geskep. Dit word by 'klaskamers' gevoeg. Hierdie 'klaskamers' word aan die skoolobjek oorgedra. Laastens word die klaskamernaam en getal studente gedruk deur die versameling te herhaal. Indien die skoolvoorwerp vernietig word, sal die klaskamervoorwerpe ook vernietig word. Dit is 'n voorbeeld van samestelling. Dit bevat ook die 'het-'n'-verhouding en impliseer ook eienaarskap.
Wat is die verwantskap tussen aggregasie en samestelling in Java?
Aggregasie en samestelling is twee tipes assosiasie en samestelling is 'n gespesialiseerde tipe samevoeging. Komposisie is 'n subset van Aggregation
Wat is die verskil tussen aggregasie en samestelling in Java?
Aggregasie vs Komposisie in Java |
|
Aggregasie is 'n assosiasie tussen twee voorwerpe wat die "het 'n" verhouding beskryf. | Komposisie is 'n meer spesifieke tipe samevoeging wat eienaarskap impliseer. |
Gebruik | |
Aggregasie word gebruik wanneer een voorwerp 'n ander voorwerp gebruik. | Komposisie word gebruik wanneer een voorwerp 'n ander voorwerp besit. |
Affekteer op voorwerpe | |
In samevoeging sal die vernietiging van die besitvoorwerp nie die inhoudende voorwerp beïnvloed nie. | In samestelling, sal die vernietiging van die besitvoorwerp die inhoudende voorwerp beïnvloed. |
Opsomming – Aggregasie vs Samestelling in Java
Aggregasie en samestelling is twee konsepte in OOP. Die "het-'n"-verhouding beskryf dat een voorwerp 'n ander voorwerp kan gebruik. Aggregasie is 'n assosiasie tussen twee objekte wat die "het-'n"-verhouding beskryf. Samestelling is 'n meer spesifieke tipe samevoeging wat eienaarskap impliseer. Die verskil tussen samestelling en samestelling in Java is dat, as die vervatte objek kan bestaan sonder die bestaan van die besitende objek is dit 'n samevoeging en as die vervatte objek nie kan bestaan sonder die bestaan van die besitende objek nie, is dit 'n samestelling.