Junior
Mis on liides C#-s?
sobes.tech AI
Vastus AI-lt
C# keeles on liides leping, mis määratleb liikmete (meetodid, omadused, sündmused, indeksid) kogumi, kuid ei sisalda nende teostust. Klassid ja struktuurid võivad rakendada ühte või mitut liidest, pühendudes kõigi liidese liikmete teostamisele.
Peamised omadused:
- Võimaldab saavutada polümorfismi.
- Määratleb käitumise, mitte oleku.
- Võib sisaldada ainult liikmete deklaratsioone ilma juurdepääsumeetoditeta (kaudne
public). - Ei saa otse luua (instantsi teha).
- Toetab mitme pärimise (üks klass võib rakendada mitut liidest).
- .NET Core 3.0+ on sisse viidud vaikeliideseid, mis võimaldavad pakkuda liikmete teostust.
Näide:
// Liidese definitsioon
public interface ICustomer
{
string GetFullName(); // Meetodi deklaratsioon
int CustomerId { get; } // Omaduse deklaratsioon
}
// Klass, mis rakendab liidest
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})";
}
}