C# Aggregation (HAS-A Relationship)
The process of defining a class as an entity reference by another class is called aggregation in C#. Thus it can be used to reuse a class. It represents a HAS-A relationship as a form of association.
Example:
using System; public class Details { public int age; public string city; public float marks; public Details(int age, string city, float marks) { this.age = age; this.city = city; this.marks = marks; } } public class Student { public int id; public string name; public Details details; public Student(int id, string name, Details details) { this.id = id; this.name = name; this.details = details; } public void display() { Console.WriteLine(id + " " + name + " " + details.age + " " + details.city + " " + details.marks); } } public class values { public static void Main(string[] args) { Details d1 = new Details(23,"Lucknow", 90); Student s1 = new Student(1,"Vishal Gupta",d1); s1.display(); } } |
Output:
Explanation:
In the above example, we are displaying the use and behavior of aggregation. Here, the Student class has the reference of Details class as a data member. Thus the Student class can reuse the members of the Details class.