Implementați proprietățile interfeței
În calitate de dezvoltator, cu crearea interfețelor proiectului, începeți procesul prin proiectarea unei interfețe cu proprietățile. Apoi dezvoltați o clasă care implementează aceste proprietăți.
O interfață din C# este ca o schiță. Acesta prezintă caracteristicile (proprietățile sau metodele) pe care clasele trebuie să le aibă dacă doresc să utilizeze această interfață. Pentru acest proiect, definiți o interfață care definește doar proprietățile (fără metode).
-
interfaceUtilizați cuvântul cheie pentru a crea o interfață. - Definiți proprietățile din interfață fără corp.
- Interfețele pot furniza opțional implementări implicite pentru membri, inclusiv proprietățile, dar se întâmplă rar.
Următorul cod creează o IVehicle interfață cu Speed și Color proprietăți:
public interface IVehicle
{
int Speed { get; set; }
string Color { get; set; }
}
Proprietățile de interfață nu au de obicei niciun cod în interior, ci specifică doar tipul de date (cum ar fi int sau string) și dacă le puteți citi, scrie pe ambele sau pe ambele. Atunci când implementați aceste proprietăți într-o clasă, veți scrie codul real pentru obținerea (citirea) și setarea (scrierea) valorilor. De exemplu, dacă o interfață are o Speed proprietate, veți decide cum să stocați și să regăsiți valoarea de viteză din clasa dvs.
Dezvoltarea unei clase care implementează interfața
Atunci când o clasă, cum ar fi Car, decide să implementeze o interfață, cum IVehiclear fi , este ca și cum spune "Voi construi un vehicul". Trebuie Car să includă toate caracteristicile (proprietățile sau metodele) prezentate în IVehicle schiță.
- Sintaxa
Car : IVehicleeste utilizată pentru a indica faptul căCarimplementeazăIVehicleinterfața. Utilizați sintaxa familiară, la fel ca cea utilizată pentru moștenire. - Trebuie
Carsă furnizeze implementări publice, nestatice pentru toate caracteristicile listate înIVehicleschiță. - Dacă
Cardecide să implementeze mai multe planuri (interfețe) care au caracteristici similare, trebuie să fie clar ce caracteristică provine de la ce plan.
Iată cum Car implementează IVehicle interfața în cod:
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; }
}
}
Notă
Simbolul : este utilizat pentru a indica faptul că implementează Car, similar cu modul IVehicle în care : este utilizat pentru a indica moștenirea.
În acest exemplu, Car este o clasă care implementează IVehicle interfața și oferă propriile versiuni de Speed și Color. E ca și cum ai construi un vehicul pe IVehicle baza planului, dar adăugând propriile atingeri unice la viteză și culoare.