Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die Methode zur Instanziierung von Schnittstellenobjekten in C#

Detaillierte Einführung in die Methode zur Instanziierung von Schnittstellenobjekten in C#

黄舟
黄舟Original
2017-03-21 11:32:532203Durchsuche

Der folgende Editor bringt Ihnen einen Artikel C#-Methode zum Instanziieren von Schnittstellenobjekten. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor, um einen Blick darauf zu werfen

Viele, viele Schnittstellenobjekte werden im Head-First-Entwurfsmuster verwendet

Um ein Problem zu klären, können Schnittstellen zunächst nicht nur Objekte deklarieren, sondern auch auch Objekte instanziieren, können auch als Parameter übergeben werden.

1. Schnittstellenrückruf

Dies ist die Aufwärtstransformation bei der Vererbung. Übergeordnete Klasse FL=neue Unterklasse (); aber die übergeordnete Klasse ist hier die Schnittstellenschnittstelle. (Ich persönlich denke, dass die Verwendung die gleiche ist, unabhängig davon, ob es sich um ein Überschreiben einer Klasse oder ein Umschreiben einer Schnittstelle handelt.)

Sie können die Referenz des von der Klasse erstellten Objekts, die eine bestimmte Schnittstelle implementiert, der von deklarierten Schnittstellenvariablen zuweisen die Schnittstelle, dann können die Schnittstellenvariablen Methoden in der von der Klasse implementierten Schnittstelle aufrufen. Wenn eine Schnittstellenvariable tatsächlich eine Methode in der von einer Klasse implementierten Schnittstelle aufruft, benachrichtigt sie das entsprechende Objekt, die Schnittstellenmethode

direkt im Code aufzurufen

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
  interface Itemp
  {
    double plus();
  }
  public class num : Itemp
  {
    double aa, bb;
    public num(double a, double b)
    {
      this.bb = b;
      this.aa = a;
    }
    public double plus()
    {
      return (aa * bb);
    }
  }
  class Program
  {
    static void Main(string[] args)
    {
      num n = null;//声明类对象引用
      Itemp tm = null;//声明接口对象引用
      tm = new num(1.1, 2.2);//接口回调(向上转型)
      Console.WriteLine(tm.plus());
      Console.ReadKey();
    }
  }
}

Anhand des obigen Beispiels ist es nicht schwer zu erkennen, dass die Instanziierung eines Schnittstellenobjekts tatsächlich ein Schnittstellenobjekt als Referenz ist, das auf alle Methoden in der Klasse verweist, die seine Methode implementiert dem in C++ Funktionszeiger sehr ähnlich (ähnlich einem Delegaten in C#), aber es gibt einen Unterschied. Die Instanziierung von Schnittstellenobjekten in C# erfolgt tatsächlich eins-zu-viele, während Funktionszeiger in C++ eins-zu-eins sind.

Es ist jedoch zu beachten, dass die Instanziierung eines Schnittstellenobjekts mit der Klasse instanziiert werden muss, die es implementiert, und nicht mit der Schnittstelle selbst instanziiert werden kann. Die Verwendung einer Schnittstelle selbst zum Instanziieren ihrer eigenen Objekte ist in C# nicht zulässig.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Methode zur Instanziierung von Schnittstellenobjekten in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn