J
Jennifer Jazz
My question is regarding the mapping of Class diagram to the C++
coding.
There are 3 realtions in Class diagram
1) Assosication
2) Composition
3) Aggregation (Weak Composition).
-----------------------------------------------------
Class diagram for A ----- B (Association)
I handle it coding like that
main() {
A objA;
B objB;
objA.funA(objB); // or
objB.funB(objA);
}
-----------------------------------------------------
A <>---- B (filled diamond) for compoistion
Take the example of CAR and ENGINE, this relation is composition
I handle it coding like that
class B {
}
class A {
B objB; //or B* objB
}
This shows when A's Object destroys B also destroys.
Im clear with above two concepts but when aggregation comes.
A <>---- B (non-filled diamond) for agregation
Take the example of CAR and WHEEL-CUP.
class B {
}
class A {
B* ptrB;
}
Take the example of CAR and WHEEL-CUP, this relation is aggregation.
CAR
changes its wheel-cup each time when it go to service the car.
CAR <>------ Wheel-CUp
im not getting one thing thing when car destroyed (i.e. destructor
called)
does Wheel-Cup should also destroy? iF yes then the difference
between
COMPOSITION and AGGREGATION is only left that in aggregation the
aggregated
object (B* ptrB) points to different objects i.e. different wheel cups
at
different states. and in COMPOSITION it only keep points to only one
object.
AND in both aggre. and comp. object B destoys as object A destroys.
One more question , in composition the Object B is created as object A
is
created i.e. (When CAR is created ENGINE also created) but what abt
wheel
cups? when they will be created and destroyed? as wheel cups can
live
independly and when car goes for services, they new wheel cups only
points of
the this car showing new wheel cups attached. So the other wheel cups
destroyed !!??
I shall be very very thankful if u answer me this question
coding.
There are 3 realtions in Class diagram
1) Assosication
2) Composition
3) Aggregation (Weak Composition).
-----------------------------------------------------
Class diagram for A ----- B (Association)
I handle it coding like that
main() {
A objA;
B objB;
objA.funA(objB); // or
objB.funB(objA);
}
-----------------------------------------------------
A <>---- B (filled diamond) for compoistion
Take the example of CAR and ENGINE, this relation is composition
I handle it coding like that
class B {
}
class A {
B objB; //or B* objB
}
This shows when A's Object destroys B also destroys.
Im clear with above two concepts but when aggregation comes.
A <>---- B (non-filled diamond) for agregation
Take the example of CAR and WHEEL-CUP.
class B {
}
class A {
B* ptrB;
}
Take the example of CAR and WHEEL-CUP, this relation is aggregation.
CAR
changes its wheel-cup each time when it go to service the car.
CAR <>------ Wheel-CUp
im not getting one thing thing when car destroyed (i.e. destructor
called)
does Wheel-Cup should also destroy? iF yes then the difference
between
COMPOSITION and AGGREGATION is only left that in aggregation the
aggregated
object (B* ptrB) points to different objects i.e. different wheel cups
at
different states. and in COMPOSITION it only keep points to only one
object.
AND in both aggre. and comp. object B destoys as object A destroys.
One more question , in composition the Object B is created as object A
is
created i.e. (When CAR is created ENGINE also created) but what abt
wheel
cups? when they will be created and destroyed? as wheel cups can
live
independly and when car goes for services, they new wheel cups only
points of
the this car showing new wheel cups attached. So the other wheel cups
destroyed !!??
I shall be very very thankful if u answer me this question