Proszę o przykład i praktyczne zastosowanie.
Proszę o przykład i praktyczne zastosowanie.
Interfejsy są traktowane jako kontrakt, który gwarantuje że klasa bądź struktura, która po nim dziedziczy, będzie zawierała zdefiniowane metody oraz właściwości (nie można definiować w interfejsie pól).
Klasa może implementować wiele interfejsów, wszystkie metody implementowane są publiczne, np.:
interface IOsoba { void SetImie(string imie); string Imie{ get; set; } } class Osoba: IOsoba { public string Imie{get;set;} public void SetImie(string imie) { Imie = imie; } } //Klasa musi zawierać taką samą nazwę metod i właściwości //oraz zwracać dokładnie taką samą wartość. //Obiekt można przypisać do interfejsu: Osoba o = new Osoba(){ Imie="Dominik"}; IOsoba ios = o;
Klasa implementuje interfejs IOsoba, więc ten zapis również jest prawidłowy.
Trzeba pamiętać, że interfejs może dziedziczyć po interfejsie, natomiast nie może dziedziczyć po klasie.