Sobes.tech
Junior

Чӣ гуна дархост ба интерфейс анҷом дода мешавад?

sobes.tech AI

Ҷавоб аз AI

Дастрасӣ ба интерфейс тавассути фаро хондани методҳо ё дастрасӣ ба хосиятҳои намунаи синфе, ки ин интерфейсро иҷро мекунад, сурат мегирад. Ҳеҷ гоҳ намешавад, ки намунаи худи интерфейсро эҷод кард.

Масалан:

// Эълони интерфейс
public interface ILogger
{
    void LogMessage(string message);
}

// Синфе, ки интерфейсро иҷро мекунад
public class ConsoleLogger : ILogger
{
    public void LogMessage(string message)
    {
        Console.WriteLine(message);
    }
}

// Истифодаи интерфейс
public class Application
{
    private readonly ILogger _logger;

    public Application(ILogger logger) // Такя ба интерфейс
    {
        _logger = logger;
    }

    public void Run()
    {
        _logger.LogMessage("Барнома оғоз шуд."); // Даъвати метод тавассути интерфейс
    }
}

// Дар нуқтаи воридот
public class Program
{
    public static void Main(string[] args)
    {
        ILogger logger = new ConsoleLogger(); // Эҷоди намунаи синфе, ки интерфейсро иҷро мекунад
        Application app = new Application(logger);
        app.Run();
    }
}

Принсипҳои асосӣ:

  • Полиморфизм: Имкон медиҳад, ки ба иҷроишҳои гуногуни интерфейс тавассути як навъи дода (интерфейс) дастрасӣ пайдо шавад.
  • Абстраксия: Детайлҳои иҷроишро пинҳон мекунад ва танҳо бо шартномаи, ки тавассути интерфейс муайян шудааст, кор мекунад.
  • Истифодаи намуна: Дархост ба интерфейс ҳамеша тавассути намунаи синфе, ки методҳо ва хосиятҳоро, ки дар интерфейс эълон шудаанд, иҷро мекунад, сурат мегирад.