Mapping

Discussion in 'C++' started by Jennifer Jazz, May 2, 2007.

  1. 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
     
    Jennifer Jazz, May 2, 2007
    #1
    1. Advertising

  2. Jennifer Jazz

    mlimber Guest

    On May 2, 2:23 pm, Jennifer Jazz <> wrote:
    > 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


    This is more of a UML question (the C++ syntax is only incidental) and
    should be asked on comp.object or similar. See this FAQ for what is on-
    topic here:

    http://www.parashift.com/c -faq-lite/how-to-post.html#faq-5.9

    <OT>My recollection is that composition implies that one class owns
    the other entirely, whereas aggregation implies that one class holds a
    reference to another but isn't its owner. If that is accurate, then a
    better analogy would be a car which holds references for each of the
    people/pets/whatever that it is carrying. It doesn't own them and they
    shouldn't necessarily be destroyed when it is, but the car may need to
    access their methods/properties (e.g., to get their weight for vehicle
    dynamics or some such).</OT>

    Cheers! --M
     
    mlimber, May 2, 2007
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Wes
    Replies:
    0
    Views:
    473
  2. David Stratton

    .Net mapping Network Drives

    David Stratton, Jan 21, 2004, in forum: ASP .Net
    Replies:
    1
    Views:
    647
    Chris Taylor
    Jan 21, 2004
  3. Ken Morrow
    Replies:
    2
    Views:
    8,002
    Jerold Green
    Jul 26, 2003
  4. dev ranjan das

    mapping bidirectional busses

    dev ranjan das, Nov 6, 2003, in forum: VHDL
    Replies:
    2
    Views:
    660
    Renaud Pacalet
    Nov 6, 2003
  5. Sachin
    Replies:
    1
    Views:
    694
Loading...

Share This Page