Opret grænseflademetoder

Fuldført

Som udvikler, der har til opgave at oprette dit projekts grænseflader, kan du begynde at tilføje grænseflademetoder ud over grænsefladerne med kun egenskaber. Hvis du vil teste grænsefladen, skal du udvikle en klasse, der implementerer disse metoder.

En grænseflade er et sæt relaterede funktioner, som en klasse skal implementere. Det kan omfatte metoder, egenskaber, hændelser og indeksering.

Overvej f.eks. en grænseflade med navnet IVehicle , der indeholder en Drive metode og egenskaber for Speed og Color:

public interface IVehicle
{
    int Speed { get; set; }
    string Color { get; set; }
    void Drive();
}

Seddel

Drive Sådan erklæres metoden uden en brødtekst i grænsefladen. Når du føjer metoder til en grænseflade, skal du inkludere metodens signatur i grænsefladeerklæringen, men ikke i dens brødtekst. Den klasse, der implementerer grænsefladen, indeholder metodens brødtekst.

Konstruer en klasse, der implementerer grænsefladen

Implementering af en grænseflade i en klasse er det samme for klasser med egenskaber, metoder eller begge dele. Når du opretter en klasse, der implementerer en grænseflade, skal du overholde disse retningslinjer:

  • Angiv implementeringer for alle grænsefladens medlemmer.
  • Deklarer grænsefladen som en del af klassedefinitionen, og angiv de påkrævede metodedele.

Seddel

En klasse kan implementere flere grænseflader, hvilket gør det muligt at inkludere funktionsmåde fra flere kilder. En klasse kan dog kun nedarve fra en enkelt klasse. Hvis en basisklasse implementerer en grænseflade, arver en hvilken som helst klasse, der er afledt af basisklassen, denne implementering.

Undersøg følgende Car klasseeksempel, som implementerer grænsefladen IVehicle :

public class Car : IVehicle
{
    private int _speed;
    private string _color;

    public int Speed
    {
        get { return _speed; }
        set { _speed = value; }
    }

    public string Color
    {
        get { return _color; }
        set { _color = value; }
    }

    public void Drive()
    {
        // Implementation of the Drive method
        Console.WriteLine("The car is driving.");
    }
}

I dette eksempel er metoden implementeret til at vise en meddelelse, når den Drive kaldes. Dette er blot en simpel implementering til demonstrationsformål. I et program i den Drive virkelige verden kan metoden indeholde mere kompleks kode, der styrer, hvordan bilen kører.

Grænseflader definerer en kontrakt med metodesignaturer og egenskaber, som en klasse skal implementere. Når en klasse implementerer en grænseflade, leverer den den faktiske kode for disse metoder og omdanner effektivt metodesignaturerne til funktionelle rutiner. Denne proces gør det muligt for en klasse at anvende forskellige funktionsmåder ved at implementere flere grænseflader. Når du fortsætter med at udvikle og definere metoder i grænseflader, vil du opdage, at effektiv brug af grænseflader kan føre til renere, mere effektiv og håndterbar kode.