Vertieftes Verständnis der Rolle von C#-Schnittstellen
Ursprüngliche Adresse: http://www.php.cn/
Angenommen, es gibt zwei Arten von Programmierern in unserem Unternehmen: VB-Programmierer Programmierer, die Programme in VB schreiben, werden durch die Klasse clsVBProgramer repräsentiert; Delphi-Programmierer beziehen sich auf Programmierer, die Programme in Delphi schreiben, repräsentiert durch die Klasse clsDelphiProgramer. Jede Klasse verfügt über eine WriteCode()-Methode. Die Definition lautet wie folgt:
class clsVBProgramer() { .... WriteCode() { //用VB语言写代码; } .... } class clsDelphiProgramer() { .... WriteCode() { //用Delphi语言写代码; } .... }
Nun die Das Unternehmen verfügt über ein Projekt, bei dem ein Programmierer entsandt werden muss, um ein Programm zu schreiben.
class clsProject() { .... WritePrograme(clsVBProgramer programer)//用VB写代码 { programer.WriteCode(); } WritePrograme(clsDelphiProgramer programer)//重载方法,用Delphi写代码 { programer.WriteCode(); } ...... }
Im Hauptprogramm haben wir Du kannst so schreiben:
main() { clsProject proj=new clsProject; //如果需要用VB写代码 clsVBProgramer programer1=new clsVBProgramer; proj.WritePrograme(programer1); //如果需要用Delphi写代码 clsDelphiProgramer programer2=new clsDelphiProgramer; proj.WritePrograme(programer2); }
Aber wenn zu diesem Zeitpunkt ein anderer C#-Programmierer zum Unternehmen kommt, wie können wir dieses Programm so ändern, dass es die Funktion des Schreibens von Programmen in C# realisieren kann? Wir müssen eine neue Klasse clsCSharpProgramer hinzufügen und gleichzeitig die Methode WritePrograme (clsCSharpProgramer-Programmierer) in dieser clsProject-Klasse erneut überladen. Diesmal ist es mehr Ärger. Was wäre, wenn es C-Programmierer, C++-Programmierer und JAVA-Programmierer gäbe? Großes Problem!
Aber wenn Sie stattdessen eine Schnittstelle verwenden, wird es völlig anders sein:
Deklarieren Sie zuerst eine Programmierschnittstelle:
interface IProgramer() { WriteCode(); } 然后声明两个类,并实现IProgramer接口: class clsVBProgramer():IProgramer { .... WriteCode() { //用VB语言写代码; } .... }
class clsDelphiProgramer():IProgramer { .... WriteCode() { //用Delphi语言写代码; } .... }
Ändern Sie die clsProject-Klasse:
class clsProject() { .... WritePrograme(IProgramer programer) { programer.WriteCode();//写代码 } ...... } main() { clsProject proj=new clsProject; IProgramer programer; //如果需要用VB写代码 programer=new clsVBProgramer; proj.WritePrograme(programer); //如果需要用Delphi写代码 programer=new clsDelphiProgramer; proj.WritePrograme(programer); }
Wenn Programmierer wie C#, C, C++ und JAVA hinzugefügt werden, müssen wir nur die zugehörigen Klassen hinzufügen und dann geringfügige Änderungen vornehmen main() und es wird in Ordnung sein. Besonders gut ist die Skalierbarkeit!
Wenn wir außerdem die clsProject-Klasse in einer Komponente versiegeln, müssen wir, wenn unsere Benutzer Funktionen erweitern müssen, nur kleine externe Änderungen vornehmen, um dies zu erreichen alle Änderungen Wir haben das Bauteil versiegelt! Ist es nicht sehr praktisch und leistungsstark?
Das Obige ist ein detailliertes Verständnis der Rolle der C#-Schnittstelle. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). !

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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.

Leitfaden zu den Zugriffsmodifikatoren in C#. Wir haben die Einführungstypen von Zugriffsmodifikatoren in C# zusammen mit Beispielen und Ausgaben besprochen.

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

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.

Leitfaden für C# StringReader. Hier besprechen wir einen kurzen Überblick über C# StringReader und seine Funktionsweise zusammen mit verschiedenen Beispielen und Code.

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.

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

Leitfaden für C# StringWriter. Hier besprechen wir einen kurzen Überblick über die C#-StringWriter-Klasse und ihre Funktionsweise zusammen mit verschiedenen Beispielen und Codes.
