Monday, June 22, 2009

What is association, aggregation and composition in oops

Association
Association is a relationship where all object have their own lifecycle and there is no owner. Let’s take an example of Teacher and Student. Multiple students can associate with single teacher and single student can associate with multiple teachers but there is no ownership between the objects and both have their own lifecycle. Both can create and delete independently.
Points:
• Is a Relationship between objects.
• Objects have independent lifecycles.
• There is no owner.
• Objects can create and delete independently.

Aggregation
Aggregation is a specialize form of Association where all object have their own lifecycle but there is ownership and child object can not belongs to another parent object. Let’s take an example of Department and teacher. A single teacher can not belongs to multiple departments, but if we delete the department teacher object will not destroy. We can think about “has-a” relationship.
Points:
• Specialize form of Association.
• has-a relationship between objects
• Object have independent life-cycles
• Parent-Child relationship
Composition
Composition is again specialize form of Aggregation. It is a strong type of Aggregation. Child object dose not have their lifecycle and if parent object deletes all child object will also be deleted. Let’s take again an example of relationship between House and rooms. House can contain multiple rooms there is no independent life of room and any room can not belongs to two different house if we delete the house room will automatically delete. Let’s take another example relationship between Questions and options. Single questions can have multiple options and option can not belong to multiple questions. If we delete questions options will automatically delete.
Points:
• Specialize form of Aggregation
• Strong Type of Aggregation.
• Parent-Child relationship
• Only parent object has independent life-cycle.

17 comments:

  1. The perfect explanation I have ever found from the internet searches regarding OOP relationships. I understood all very easily and clearly.

    Thank you very much.
    Chandima.

    ReplyDelete
  2. I too agree, a perfect explanation that I was looking for.


    Thank you,
    Gaurav.

    ReplyDelete
  3. Just superb.. no need to search more.....
    thanx dear

    ReplyDelete
  4. explain about dependency also

    ReplyDelete
  5. What is a 'is - a' relationship

    ReplyDelete
  6. I too agree it is perfect explanation

    ReplyDelete
  7. aggregarion has lower or higher level entity

    ReplyDelete
  8. Hi

    I read this post 2 times. It is very useful.

    Pls try to keep posting.

    Let me show other source that may be good for community.

    Source: Teacher interview questions

    Best regards
    Jonathan.

    ReplyDelete
  9. Very Good Explanation Thank You

    ReplyDelete
  10. Hi

    Tks very much for post:

    I like it and hope that you continue posting.

    Let me show other source that may be good for community.

    Source: Science teacher interview questions

    Best rgs
    David

    ReplyDelete
  11. thank you very much. this is the exact answer that we want!!

    ReplyDelete
  12. hatts of to you Sir... Very much satisfactory explanation .... I usually do not comment on blogs... but this forced me to do ... once again thnx...

    ReplyDelete
  13. Thank you for that easy and perfect example..

    ReplyDelete
  14. Hi, In association contains IS-A relation ship.if IS-A relation ship is there then owner also there.I dont know whether association you have mentioned four points right or wrong.

    ReplyDelete

 
Locations of visitors to this page