Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Lösungen für C#-Schnittstellenprobleme

Detaillierte Erläuterung der Lösungen für C#-Schnittstellenprobleme

黄舟
黄舟Original
2017-09-19 11:17:271886Durchsuche

Die Projekte in dieser Zeit verwendeten Schnittstellen. Ich wusste zunächst nur, dass die Schnittstellendefinition sehr einfach war. Ich hatte sogar das Gefühl, dass diese Schnittstelle einfach überflüssig war. Nachdem ich nun mit der Teamentwicklung begonnen habe, habe ich entdeckt, wie wichtig und praktisch die Schnittstelle ist!

Lassen Sie mich als Nächstes über meine grobe Meinung zur Verwendung von Schnittstellen in dieser Zeit sprechen. Ich hoffe, dass Ihnen gefällt, was ich gesagt habe, und ich hoffe, dass Sie mir verzeihen und mir Vorschläge machen, wenn ich falsch liege !

FERTIG!

Ich werde nicht näher auf die Definition der Schnittstelle eingehen. Sie hat einen sehr wichtigen Wissenspunkt, nämlich dass alle, die diese Schnittstellenklasse erben, diese implementieren müssen Apropos: Wird unser Code in der Teamentwicklung vereinheitlicht, solange wir uns auf die Schnittstelle einigen? ! !

Das ist der erste Punkt, den ich bei Schnittstellen für wichtig halte: Es ermöglicht uns, Projektvorschriften zu vereinheitlichen und die Codeverwaltung im Team zu erleichtern!

Lassen Sie uns ein anderes Beispiel verwenden:

Unternehmen A hat beschlossen, ein Tiersystem zu entwickeln, das viele Tiere enthält. Das Unternehmen hat beschlossen, das Schreiverhalten jedes Tieres zu erkennen...

Apropos: Normalerweise beginnt jeder Programmierer hart zu arbeiten, nachdem er die Tierklasse erhalten hat, die er implementieren möchte! ! !

Programmierer {……}

M-Programmierer implementiert die Schweineklasse und schreibt eine Shout-Methode void Shout(string content){……}

…………

Okay, jetzt, da jeder die Tiere fertiggestellt hat, die er vervollständigen muss, wird Lao Wang von nebenan das Brüllen der Bestien bewusst! ! ! ! &¥%¥*%¥¥%¥ Eine Mahlzeit voller Schimpfwörter brach aus! Wie schreibe ich das? Rufen Sie sie einzeln an? ? ?

Lassen Sie uns einen Blick darauf werfen. Der M-Programmierer muss auch den Inhalt von Tierschreien liefern! ! ! ! !

Da Herr Wang nebenan nun alle Tiere anrufen möchte, muss er die Methode einzeln aufrufen ...

OK, lasst uns ein Treffen abhalten, um Herrn Wang zu besprechen next door definiert eine Tierschnittstelle. Diese Schnittstelle definiert nur eine void Shout(); (Ich möchte nicht zu viel schreiben, ich bin faul)

X, Y , M Nachdem der Programmierer X geerbt hatte, entdeckte M sofort, dass es ein Problem gab, und begann dann, die Klasse in seiner Hand zu ändern

Zu diesem Zeitpunkt begann Lao Wang mit allen Tieren zu brüllen! Hahahahaha

Der Code wird als nächstes veröffentlicht, damit jeder ihn sehen kann

Schnittstelle


Hund
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject
{    /// <summary>
    /// 动物接口    /// </summary>
    interface IAnimal
    {        /// <summary>
        /// 动物叫喊        /// </summary>
        void Shout();
    }
}


Katze
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject
{    /// <summary>
    /// 狗    /// </summary>
    public class Dog:IAnimal
    {        public void Shout()
        {
            Console.WriteLine("汪汪汪");
        }
    }
}


Schwein
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject
{    /// <summary>
    /// 猫    /// </summary>
    public class Cat:IAnimal
    {        public void Shout()
        {
            Console.WriteLine("喵喵喵");
        }
    }
}


Alt Mann von nebenan Der König erkennt das Gebrüll aller Tiere (besiegt die Existenz von Charakteren wie Lao Wang)
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject
{    /// <summary>
    /// 猪    /// </summary>
    public class Pig:IAnimal
    {        public void Shout()
        {
            Console.WriteLine("猪怎么叫来着??猪叫");
        }
    }
}


Das war's für meine groben Einblicke in diese Schnittstelle ! Obwohl die Schnittstelle sehr einfach zu bedienen ist, müssen wir dennoch die Rolle dieser Schnittstelle verstehen. Ich hoffe, dass dieser Artikel mehr Neulingen wie mir den ersten Schritt in Richtung der Schnittstelle ermöglichen wird
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace InterfaceProject
{    class Program
    {        static void Main(string[] args)
        {            //百兽齐鸣(这里可以使用反射来初始化所有继承IAnimal的所有动物,我就不写这个了,主要看接口)
            List<IAnimal> animals = new List<IAnimal>();
            IAnimal dog = new Dog();
            animals.Add(dog);
            IAnimal cat = new Cat();
            animals.Add(cat);
            IAnimal pig = new Pig();
            animals.Add(pig);            //所有动物都叫一遍
            for (int i = 0; i < animals.Count; i++)
            {
                animals[i].Shout();
            }

            
        }
    }
}

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Lösungen für C#-Schnittstellenprobleme. 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