Junior
Jak jest wykonywane żądanie do interfejsu?
sobes.tech AI
Odpowiedź od AI
Dostęp do interfejsu odbywa się poprzez wywołanie metod lub dostęp do właściwości instancji klasy, która implementuje ten interfejs. Nie można utworzyć instancji samego interfejsu.
Przykład:
// Deklaracja interfejsu
public interface ILogger
{
void LogMessage(string message);
}
// Klasa implementująca interfejs
public class ConsoleLogger : ILogger
{
public void LogMessage(string message)
{
Console.WriteLine(message);
}
}
// Użycie interfejsu
public class Application
{
private readonly ILogger _logger;
public Application(ILogger logger) // Zależność od interfejsu
{
_logger = logger;
}
public void Run()
{
_logger.LogMessage("Aplikacja uruchomiona."); // Wywołanie metody przez interfejs
}
}
// W punkcie wejścia
public class Program
{
public static void Main(string[] args)
{
ILogger logger = new ConsoleLogger(); // Tworzenie instancji klasy implementującej interfejs
Application app = new Application(logger);
app.Run();
}
}
Podstawowe zasady:
- Polimorfizm: Umożliwia dostęp do różnych implementacji interfejsu przez jeden typ danych (interfejs).
- Abstrakcja: Ukrywa szczegóły implementacji i pozwala pracować tylko z kontraktem zdefiniowanym przez interfejs.
- Użycie instancji: Zapytanie do interfejsu zawsze odbywa się przez instancję klasy, która implementuje metody i właściwości zadeklarowane w interfejsie.