Heim Backend-Entwicklung C#.Net-Tutorial Detaillierte Einführung in die Methode zur Instanziierung von Schnittstellenobjekten in C#

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

Mar 21, 2017 am 11:32 AM

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();
    }
  }
}
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Active Directory mit C# Active Directory mit C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

C#-Serialisierung C#-Serialisierung Sep 03, 2024 pm 03:30 PM

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

Zufallszahlengenerator in C# Zufallszahlengenerator in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

C#-Datenrasteransicht C#-Datenrasteransicht Sep 03, 2024 pm 03:32 PM

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Muster in C# Muster in C# Sep 03, 2024 pm 03:33 PM

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Fakultät in C# Fakultät in C# Sep 03, 2024 pm 03:34 PM

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.

Primzahlen in C# Primzahlen in C# Sep 03, 2024 pm 03:35 PM

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

See all articles