logo

Agregace C# (vztah HAS-A)

V C# je agregace proces, ve kterém jedna třída definuje jinou třídu jako odkaz na jakoukoli entitu. Je to další způsob, jak znovu použít třídu. Je to forma asociace, která představuje vztah HAS-A.

Příklad agregace C#

Podívejme se na příklad agregace, kde má třída Zaměstnanec odkaz na třídu Adresa jako datový člen. Tímto způsobem může znovu použít členy třídy Address.

 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(); } } 

Výstup:

 1 Sonoo G-13 Sec-3 Noida UP