Warum erstellen wir eine Objektinstanz von Interface anstelle von Class?

Ich habe oft eine Interface-Instanz gesehen, die aus einer Klasse generiert wurde. Warum wird ein Interface auf diese Weise verwendet? Eine Interface-Instanz wurde nur mit Hilfe der abgeleiteten Klasse selbst erstellt, und wir können über diese Instanz nur auf diese Interface-Mitglieder zugreifen. Wie bringt das einen Vorteil? Ich bin so verwirrt..

interface IPrint
{
    void Print();
}

class Sample : IPrint
{
    public void Print()
    {
        Console.WriteLine("Print...");
    }

    public void Sample()
    {
        Console.WriteLine("Sample...");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IPrint print = new Sample();
        print.Print();
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage