Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in Schnittstellen in C#

Einführung in Schnittstellen in C#

巴扎黑
巴扎黑Original
2017-09-06 14:29:311399Durchsuche

Für viele Anfänger ist die Verwendung sehr einfach. Die Schnittstelle enthält nur einige Attribute, Indexer, Ereignisse und keine spezifischen Implementierung des Methodencodes; dann die Schnittstelle in der Klasse erben und den spezifischen Implementierungscode aller Eigenschaften, Indexer, Ereignisse und Methoden in der Schnittstelle implementieren (eigentlich gibt es nur diese wenigen in der Schnittstelle, im Allgemeinen verwenden wir nur Eigenschaften und Methoden). , also werde ich hier nur eine der „Methoden“ mit Ihnen teilen). Die Verwendung von Schnittstellen ist so einfach. Befolgen Sie sie einfach und schreiben Sie Code. Aber Leute, die die Rolle von Schnittstellen nicht wirklich verstehen, werden das Gefühl haben, dass es überflüssig ist Als ich die Rolle von Schnittstellen nicht wirklich verstand, glaube ich.

Microsoft wird keine unnötigen Dinge auf den Markt bringen, also werfen wir einen Blick auf die Schönheit der Benutzeroberfläche.

Wir definieren zunächst eine Schnittstelle

public Interface IBase
      {
            void ClassPrind(string s);
      }

Dann definieren wir eine Klasse, die von der IBase-Schnittstelle erbt und implementieren die Methode

 public class DogClass :IBase
      {
             public void ClassPrind(string s)
             {
                   Console.WriteLine(s);
             }
      }

Schließlich rufen wir sie in Main auf

 class ClassMain
     {
          statric void Main(string []args)
         {
                IBase base=new DogClass();
                base.ClassPrind("小狗");
         }
     }

Ausgabeergebnis

Puppy

Allein aus dem obigen Code scheint es, dass wir nur die DogClass-Klasse instanziieren und die ClassPrind-Methode aufrufen müssen. Es ist nicht erforderlich, eine weitere Schnittstelle zu definieren. Aber wenn wir eine andere CatClass-Klasse schreiben möchten, was ist, wenn wir in der Klasse auch eine Parameterausgabemethode übergeben müssen? Ja, es ist sehr schnell, wenn wir nur eine weitere Klasse und eine weitere Methode in der Klasse schreiben müssen. Die Methodennamen in der neu geschriebenen Klasse können jedoch unterschiedlich sein, was bedeutet, dass wir eine weitere Methode benötigen Wenn der Projektmanager jemand anderen bittet, diese Klasse und Methode zu schreiben, kennen Sie diese Methode nicht und es wird für uns unpraktisch sein, sie zu verwenden. Anders verhält es sich jedoch, wenn wir eine Schnittstelle verwenden. Wir müssen zwar noch eine weitere Klasse und eine Methode schreiben, aber wir müssen diese Klasse nur von der Schnittstelle erben und dann implementieren. Egal wer diese Klasse hinzufügt, wir können ihn genau finden und verwenden.

Fügen wir die CatClass-Klasse hinzu

public class CatClass :IBase
      {
             public void ClassPrind(string s)
             {
                   Console.WriteLine(s);
             }
      }

Sehen wir uns den Aufruf und die Ausgabe an

class ClassMain
     {
          statric void Main(string []args)
         {
                IBase base=new DogClass();
                base.ClassPrind("小狗");
                IBase base=new CatClass();
                base.ClassPrind("小猫");
         }
     }

Das Ausgabeergebnis

Welpe

Kitty

Aus der Aufrufausgabe können wir deutlich erkennen, dass das Ergebnis des Aufrufs eine Methode in einer anderen Klasse ist, solange wir den Klassennamen und die Parameter ändern andere haben geschrieben. Wie lautet der Methodenname? Die Person, die diese Klasse geschrieben hat, muss uns nicht sagen, wofür diese Klasse geschrieben ist. Auf diese Weise können wir ganz einfach erweitern, egal ob wir in einem Teamprojekt oder einem persönlichen Projekt sind, was die Arbeitseffizienz erheblich verbessert. Wir müssen uns nicht so viele Dinge merken, also warum nicht?

Das obige ist der detaillierte Inhalt vonEinführung in Schnittstellen 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