Junior — Middle
Czy możesz wyjaśnić koncepcję interfejsu w programowaniu i jego cel?
sobes.tech AI
Odpowiedź od AI
Interfejs w programowaniu to kontrakt, który określa zestaw metod i właściwości, które klasa musi zaimplementować, ale nie zawiera ich implementacji. W C# interfejsy służą do zapewnienia abstrakcji i polimorfizmu, umożliwiając różnym klasom posiadanie wspólnego zestawu metod, co upraszcza interakcję między komponentami.
Na przykład, interfejs IShape może zawierać metodę Draw(). Klasy Circle i Rectangle implementują ten interfejs, dostarczając własną implementację metody Draw().
public interface IShape
{
void Draw();
}
public class Circle : IShape
{
public void Draw()
{
Console.WriteLine("Rysujemy koło");
}
}
public class Rectangle : IShape
{
public void Draw()
{
Console.WriteLine("Rysujemy prostokąt");
}
}
Zastosowania interfejsów:
- Zapewnienie standaryzowanego sposobu interakcji między klasami.
- Umożliwienie korzystania z polimorfizmu.
- Ułatwienie testowania i utrzymania kodu.
- Wspieranie słabego powiązania między komponentami.