Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedź (1)

  • 4

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.

  • Odpowiedział
  • @ | 11.06.2014
  • TRENER ALTKOM AKADEMII