Composition
final class Company{
private final Employee Employee;
{
Company(EmpDetails details) {
engine = new Employee(details);
}
void assign() {
emp.work();
}
}Aggregation
final class Company{
private Employee engine;
void addEmployee(Employee emp) {
this.emp = emp;
}
void assign() {
if (emp != null)
emp.work();
}
}Dependency
final class Company{
void assign(Employee emp) {
if (emp != null)
emp.work();
}
}Abstraction
public interface Employee{
public void work();
public void off();
public void quit();
}Realisation
public abstract class Engineer implements Employee
{
public void work();
public void off();
public void quit();
}Generalization
public class SWEngineer extends Engineer
{
public void work()
{
System.out.println('SW Engineer working');
}
public void off()
{
System.out.println('SW Engineer is off today');
}
public void quit()
{
System.out.println('SW Engineer is quitting');
}
}Relationships
| Association | Defines a relationship between classes. Compositon and Aggregation are types of associations |
| Composition | the Employee is encapsulated within the Company . There is no way for the outside world to get a reference to the Employee. The Employee is created and destroyed with the company |
| Aggregation | The Company also performs its functions through an Employee, but the Employee is not always an internal part of the Company . Employees can be exchanged, or even completely removed. As the employee is injected, the Employee reference can live outside the Company. |
| Dependency | The company does not hold the employee reference. It receives an employee reference only to the scope an operation. Company is dependent on the Employee object to perform an operation |
| Abstraction | Defines the basic operations the implementer should adher to. Employee interface lists the general behavior of an employee |
| Realization | A class implements the behavior defined by the other other class or interface |
| Generalization | A class which is a special form of a parent class |
UML Relationship Pointers
Resources
- http://leninkumarkoppoju.blogspot.in/2012/10/uml-relations-association-aggregation.html
- http://en.wikipedia.org/wiki/Class_diagram
Reference: Quick Summary : Object Associations from our JCG partner Srividhya Umashanker at the Thoughts of a Techie blog.
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Thank you!
We will contact you soon.
Tags
UML
👁 Photo of Srividhya Umashanker
Srividhya UmashankerJanuary 19th, 2013Last Updated: January 19th, 2013
Srividhya UmashankerJanuary 19th, 2013Last Updated: January 19th, 2013
1 129 1 minute read

This site uses Akismet to reduce spam. Learn how your comment data is processed.
WTF?