Aggregation:

Aggregation in Java is one of the special case of Association. The directional association present in between the objects can also be determined. When a single object ‘has-a’ another object and you will get the aggregation. The directions between the object will be specified with the object containing other object. Aggregation can also be called as “Has-a” relationship.

Example : Employee Has a Address

Aggregation

Aggregation in Java Example:

[sourcecode language=”java”]
/**
 * @author chandrashekhar
 */
public class AggregationDemo {

    public static void main(String[] args) {
        Address address = new Address();
        address.setDoorNo("201");
        address.setStreet("Gajuwaka");
        address.setCity("Visakhapatnam");
        Employee employee = new Employee();
        employee.setId(112);
        employee.setName("Rahul");
        employee.setAddress(address);
        System.out.println("Employee :: " + employee);
    }

}

class Employee {

    private int id;
    private String name;
    private Address address;  // Employee Has a Address

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "Employee{" + "id=" + id + ", name=" + name + ", address=" + address + ‘}’;
    }

}

class Address {

    private String doorNo;
    private String street;
    private String city;

    public String getDoorNo() {
        return doorNo;
    }

    public void setDoorNo(String doorNo) {
        this.doorNo = doorNo;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    @Override
    public String toString() {
        return "Address{" + "doorNo=" + doorNo + ", street=" + street + ", city=" + city + ‘}’;
    }

}

Output : Employee{id=112, name=Rahul, address= Address{doorNo=201, street=Gajuwaka, city=Visakhapatnam}}

[/sourcecode]

In the above example program Employee and Address are the two different entities, but the relationship between the Employee and Address is “Has a” relationship. Because Employee has an Address.

About the Author:

Avatar
Founder of onlinetutorialspoint.com Love Java, Python, Shell and opensource frameworks. Follow him on twitter and facebook for latest updates.

Leave A Comment