GeekInterview.com
   Home |  Tech FAQ  |   Interview Questions |  Placement Papers |  Tech Articles |  Learn |  Freelance Projects |  Online Testing |  Geeks Talk |  Job Postings |  Knowledge Base | Site Search |  Add/Ask Question

GeekInterview.com  >  Tech FAQs  >  OOPS
Go To First  |  Previous Question  |  Next Question 
 OOPS  |  Question 53 of 255    Print  
Difference between Composition and Aggregation.

  
Total Answers and Comments: 1 Last Update: August 09, 2005   
  
 Sponsored Links

 
 Best Rated Answer

No best answer available. Please pick the good answer available or submit your answer.
August 09, 2005 06:09:15   #1  
Vijay        

RE: Difference between Composition and Aggregation.
Both aggregation and composition are special kinds of associations. Aggregation is used to represent ownership or a whole/part relationship, and composition is used to represent an even stronger form of ownership. With composition, we get coincident lifetime of part with the whole. The composite object has sole responsibility for the disposition of its parts in terms of creation and destruction. In implementation terms, the composite is responsible for memory allocation and deallocation 
 
Moreover, the multiplicity of the aggregate end may not exceed one; i.e., it is unshared. An object may be part of only one composite at a time. If the composite is destroyed, it must either destroy all its parts or else give responsibility for them to some other object. A composite object can be designed with the knowledge that no other object will destroy its parts. 
 
Composition can be used to model by-value aggregation, which is semantically equivalent to an attribute. In fact, composition was originally called aggregation-by-value in an earlier UML draft, with “normal” aggregation being thought of as aggregation-by-reference. The definitions have changed slightly, but the general ideas still apply. The distinction between aggregation and composition is more of a design concept and is not usually relevant during analysis. 
 
Finally, a word of warning on terminology. While UML uses the terms association, aggregation, and composition with specific meanings, some object-oriented authors use one or more of these terms with slightly different interpretations. For example, it is fairly common to see all three UML relationships grouped under a single term, say composition, and then to discuss object-oriented relationships as being either inheritance (generalization) or composition. 
 

 
Is this answer useful? Yes | No

 Related Questions

Latest Answer : The basic difference in C and C++ structures is :1) In C , default access for structure members is public2) In C++ , defaulot access for structres is private ...

Latest Answer : overloading is mainly for operators and overriding is for functions ...

Latest Answer : Arrays have to difine with fixed size it will not grow dynamically , vector size can be increased bydynamically and vectors are synchronized.yaa always right.vector is a standard template library in C++. Vector size can be increased dynamically and stores ...

Latest Answer : Calloc:- #include void *calloc(size_t nelem, size_t elsize);The calloc() function allocates space for an array of nelem elements of size elsize. The space is initialized to zero. Malloc:#include void *malloc(size_t size);The malloc() function allocates ...

Latest Answer :     printf is the standart function in (c) programming language library for printing  formatted output.egprintf writes the resulting string to the standard output(remember, Awk has only one output file).So, for example: printf("%sn","jellotHarold!")prints ...

Latest Answer : Both aggregation and composition are special kinds of associations. Aggregation is used to represent ownership or a whole/part relationship, and composition is used to represent an even stronger form of ownership. With composition, we get coincident lifetime ...

Latest Answer : Sequence diagrams describe interactions among classes in terms of an exchange of messages over time. Collaboration diagrams represent interactions between objects as a series of sequenced messages. Collaboration diagrams describe both the static structure ...

Latest Answer : uses and includes are the different avatars of the same concept. uses represents a concept in which one usecases uses the other. So when you invoke the former the latter is always invoked. Extends adds additional functionality, it is used when one ...

Latest Answer : There are some differences between Activity Diagram and Sequence Diagram -1)Using Sequence diagram it can be shown how processes execute in sequence; for example what operations are called in what order and what parameter. While using Activity diagram ...

Latest Answer : When using by reference there is no new variable just a alias to the memory address, if this parameters is not constant it is possible to change the content of that address.When using by value a new variable will be created in memory and it is impossible ...


 Sponsored Links

 
Related Articles

OOPS Tutorials

Object oriented programming OOP is a computer science term used to characterize a programming language that began development in the 1960’ s The term object oriented programming’ was originally coined by Xerox PARC to designate a computer application that describes the methodol
 

What is Data Aggregation

In Data Aggregation, value is derived from the aggregation of two or more contributing data characteristics.   Aggregation can be made from different data occurrences within the same data subject, business transactions and a de-normalized database and between the
 

What is Aggregation

In the broadest sense of the word, aggregation means collecting and combining of data horizontally, vertically and chronologically and then expressed in summary form to be used for statistical analysis. In the more technical sense, aggregation is a special kind association that specified a part of w
 

The Inheritance Concept In OOPs

The Inheritance Concept In OOPs In object oriented programming objects will be characterised by classes It is possible to learn a lot about an object based on the class it belongs to Even if you are not familiar with the name Maybach If I told you it is a car you would immediately know that it has f
 

Understanding The Message Concept In OOPs

Understanding The Message Concept In OOPs To understand object oriented programming you will need to become familiar with messages As the name implies a message is a process in which software objects will communicate with one another Because of this having one object is not enough mosgoogle An objec
 

Basic concepts of OOPS and Structure of C++ program

Basic concepts of OOPS and Structure of C program In this tutorial you will learn about Objects Classes Inheritance Data Abstraction Data Encapsulation Polymorphism Overloading Reusability Before starting to learn C it is essential that one must have a basic knowledge of the concepts of Object orie
 





About Us  |   Privacy Policy  |   Terms and Conditions  |   Contact  |   Site Map  |   Add Question  |   Propose Category  |   RSS Feeds  |   Articles Sitemap  |   Site Updates  |   Add Resource

Copyright © 2005 - 2008 GeekInterview.com. All Rights Reserved
Page copy protected against web site content infringement by Copyscape