C# kalboje agregavimas yra procesas, kurio metu viena klasė apibrėžia kitą klasę kaip bet kokią objekto nuorodą. Tai dar vienas būdas pakartotinai panaudoti klasę. Tai asociacijos forma, atspindinti HAS-A santykius.
C# agregavimo pavyzdys
Pažiūrėkime agregavimo pavyzdį, kai darbuotojų klasė turi adreso klasės nuorodą kaip duomenų narį. Tokiu būdu jis gali pakartotinai naudoti adresų klasės narius.
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(); } }
Išvestis:
1 Sonoo G-13 Sec-3 Noida UP