Junior
Ի՞նչ է ինտերֆեյսը C#-ում։
sobes.tech AI
Պատասխան AI-ից
C# լեզվում ինտերֆեյսը պայմանագիր է, որը սահմանում է անդամների (մեթոդներ, հատկություններ, իրադարձություններ, ինդեքսատորներ) հավաքածու, բայց չի պարունակում նրանց իրականացմանը։ Կլասներն ու կառուցվածքները կարող են իրականացնել մեկ կամ մի քանի ինտերֆեյսներ, պարտավորվելով տրամադրել բոլոր անդամների իրականացումը։
Հիմնական առանձնահատկություններ՝
- Հնարավորություն է տալիս հասնել պոլիմորֆիզմի։
- Հիմնվում է վարքագծի վրա, ոչ թե վիճակի։
- Կարող է պարունակել միայն անդամների հայտարարություններ՝ առանց մուտքի մոդիֆիկատորների (անվանապես
public)։ - Չի կարող անմիջապես ստեղծվել (օբյեկտայնացվել)։
- Պատրաստ է բազմակի ժառանգության (մեկ դաս կարող է իրականացնել մի քանի ինտերֆեյսներ)։
- .NET Core 3.0+-ի հետ ներկայացվեցին նախնական ինտերֆեյսներ, որոնք թույլ են տալիս տրամադրել անդամների իրականացմանը։
Օրինակ՝
// Ինտերֆեյսի սահմանում
public interface ICustomer
{
string GetFullName(); // Մեթոդի հայտարարում
int CustomerId { get; } // Ուղղակի հայտարարում
}
// Ինտերֆեյսը իրականցնող դաս
public class CompanyCustomer : ICustomer
{
public int CustomerId { get; set; }
public string CompanyName { get; set; }
public string ContactPerson { get; set; }
public string GetFullName()
{
return $"{CompanyName} ({ContactPerson})";
}
}