C# Aggregation (HAS-A Relationship)

In C#, aggregation is a process in which one class defines another class as any entity reference. It is another way to reuse the class. It is a form of association that represents HAS-A relationship.

Example

Let's see an example of aggregation where Employee class has the reference of Address class as data member. In such way, it can reuse the members of Address class.

snippet
using System;
public class Address
{
    public string addressLine, city, state;
    public Address(string addressLine, string city, string state)
    {
        this.addressLine = addressLine;
        this.city = city;
        this.state = state;
    }
}
   public class Employee
    {
       public int id;
       public string name;
       public Address address;//Employee HAS-A Address
       public Employee(int id, string name, Address address)
       {
           this.id = id;
           this.name = name;
           this.address = address;
       }
       public void display()
       {
           Console.WriteLine(id + " " + name + " " + 
             address.addressLine + " " + address.city + " " + address.state);
       }
   }
   public class TestAggregation
   {
        public static void Main(string[] args)
        {
            Address a1=new Address("G-13, Sec-3","Noida","UP");
            Employee e1 = new Employee(1,"Sonoo",a1);
            e1.display();
        }
    }
Output
1 Sonoo G-13 Sec-3 Noida UP
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +