Implementer egenskaber for grænseflade
Som udvikler, der har til opgave at oprette dit projekts grænseflader, starter du processen ved at designe en grænseflade med egenskaber. Derefter skal du udvikle en klasse, der implementerer disse egenskaber.
En grænseflade i C# er som en kursusplan. Den beskriver de funktioner (egenskaber eller metoder), som klasserne skal have, hvis de vil bruge denne grænseflade. For dette projekt definerer du en grænseflade, der kun definerer egenskaber (uden metoder).
- Brug nøgleordet
interfacetil at oprette en grænseflade. - Definer egenskaber i grænsefladen uden brødtekst.
- Grænseflader kan eventuelt levere standardimplementeringer for medlemmer, herunder egenskaber, men det sker sjældent.
Følgende kode opretter en IVehicle grænseflade med Speed og Color egenskaber:
public interface IVehicle
{
int Speed { get; set; }
string Color { get; set; }
}
Egenskaber for grænseflade har normalt ingen kode i dem, de angiver blot datatypen (f.eks int . eller string), og om du kan læse fra dem, skrive til dem eller gøre begge dele. Når du implementerer disse egenskaber i en klasse, skal du skrive den faktiske kode for at hente (læse) og angive (skrive) værdierne. Hvis en grænseflade f.eks. har en Speed egenskab, skal du beslutte, hvordan du vil gemme og hente hastighedsværdien i din klasse.
Udvikl en klasse, der implementerer grænsefladen
Når en klasse, f.eks Car. , beslutter at implementere en grænseflade, f.eks IVehicle. , er det som at sige "Jeg vil bygge et køretøj". Car skal indeholde alle de funktioner (egenskaber eller metoder), der er beskrevet i IVehicle kursusplanen.
-
Car : IVehicleSyntaksen bruges til at angive, atCarimplementerer grænsefladenIVehicle. Du bruger den velkendte syntaks, som bruges til nedarvning. -
Carskal levere offentlige, ikke-statiske implementeringer for alle de funktioner, der er angivet iIVehiclekursusplanen. - Hvis
Carbeslutter at implementere flere kursusplaner (grænseflader), der har lignende funktioner, skal det være tydeligt, hvilken funktion der kommer fra hvilken kursusplan.
Car Sådan implementerer du grænsefladen IVehicle i kode:
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; }
}
}
Seddel
Symbolet : bruges til at angive, at Car implementerer IVehicle, på samme måde som : bruges til at angive nedarvning.
I dette eksempel er en klasse, Car der implementerer grænsefladen IVehicle og leverer sine egne versioner af Speed og Color. Det er som at bygge et køretøj baseret på IVehicle kursusplanen, men at tilføje sine egne unikke detaljer om hastighed og farve.