Cuprins:
Definiție - Ce înseamnă implementarea interfeței?
Implementarea interfeței, în C #, se referă la moștenirea unei interfețe de către o struct sau o clasă care oferă funcționalitatea membrilor declarați în interfață. Membrii interfeței implementate pot include metode, proprietăți, indexatori și evenimente.
În general, o interfață reprezintă un contract care trebuie respectat de o clasă sau struct care implementează toți membrii specificați în interfață. Avantajele cheie ale implementării interfeței includ flexibilitatea, cuplarea redusă, coeziunea ridicată și comportamentul polimorf.
În C #, implementarea interfeței permite unei clase să moștenească de la mai multe interfețe în loc de mai multe clase, astfel încât mai multe comportamente pot fi moștenite prin mai multe interfețe care împărtășesc doar semnături de metodă. Interfața poate fi implementată ca proprietate pentru a specifica dacă proprietatea este de citire-scriere, numai citire sau numai scriere. O interfață poate fi implementată explicit pentru a ascunde un membru și a-l înlocui cu altul. Spre deosebire de Java, implementarea explicită a interfeței C # permite mai multor interfețe cu același nume de metodă și semnături, să aibă implementări diferite fără nicio ciocnire de nume și să ofere rezultate diferite pe baza distribuției curente a obiectului.
Techopedia explică implementarea interfeței
Similar cu o clasă abstractă, o interfață nu oferă o implementare implicită. Un membru al unei clase sau structuri care implementează un membru al unei interfețe trebuie să fie public, nestatic și să posede același nume și semnătura ca cel din interfață.
De exemplu, o interfață IAccount poate fi implementată de o clasă, SavingAccount care implementează membrii IAccount care pot include BalanceAmount, DateOfOpening, etc., ca proprietăți și metode precum PrintStatement, CalculateInterest etc.
Implementarea interfeței poate fi implicită atunci când o clasă de bază a unei clase derivate implementează deja interfața. Toate interfețele de bază nu trebuie specificate explicit în lista de clase de bază a clasei derivate. În plus, clasa derivată poate schimba comportamentul interfeței care a fost definit deja în clasa de bază prin prescurtarea membrilor virtuali din clasa derivată.
Implementarea interfeței este explicită atunci când membrii a două sau mai multe interfețe având același nume cu aceeași semnătură, dar care îndeplinesc două funcții diferite, sunt moștenite de o clasă sau struct care implementează în mod explicit fiecare membru. Un astfel de membru este numit cu numele interfeței și o perioadă și poate fi accesat numai printr-o instanță a interfeței. Spre deosebire de metodele implicite, metodele explicite nu pot fi abstracte sau virtuale.