Sobes.tech
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})";
    }
}