Interfața este diferită de clasă abstractă

Interfața este diferită de clasă abstractă? - una dintre cele mai frecvente întrebări pentru interviuri pentru postul de dezvoltator. Misiunea sa - pentru a verifica cât de bine sunteți familiarizați cu programarea orientată pe obiecte (OOP). Să ne uităm la câteva caracteristici distinctive.

1. O interfață nu poate conține nici o punere în aplicare, în timp ce o clasă abstractă - poate. Interfața conține descriere numai pură - metode „goale“ pe care trebuie să pună în aplicare în clasa sa, implementarea unei interfețe. În același timp, o clasă abstractă poate avea una sau mai multe metode cu realizarea pe care le puteți utiliza în clasă descendent.

2. Clasa derivată poate moșteni doar o singură clasă abstractă și „să pună în aplicare“ un număr de interfețe diferite.

3. O clasă abstractă poate avea proprietăți (câmpuri) cu diferite modificatori pentru a accesa interfata - nr. Interfața poate conține numai constante publice (publice finale statice)

4. clasă abstractă mostenim (extinde), interfața - „implementiruem» (unelte).

5. La punerea în aplicare a interfeței suntem obligați să pună în aplicare toate metodele sale. mostenitorul clasă abstractă nu este obligat să includă punerea în aplicare a părintelui de clasă abstractă.

6. poate fi descrisă ca un constructor într-o interfață într-o clasă abstractă - nr.

articole similare