Diferența dintre clasa abstractă și interfață

Autor: Laura McKinney
Data Creației: 3 Aprilie 2021
Data Actualizării: 2 Iulie 2024
Anonim
Abstract Classes vs Interfaces (Java)
Video: Abstract Classes vs Interfaces (Java)

Conţinut

Diferența principală

Principala diferență între clasa abstractă și interfață este că procedurile interfeței Java sunt esențial abstracte și nu pot avea aplicații. Deci, în linii mari, interfața este de fapt un contract și atunci când vorbim despre interfață, se aplică că metodele nu au un corp, ci doar un model. În timp ce clasele abstracte sunt practic clasele care sunt scumpe de utilizat. Clasele abstracte și interfața este un concept cu totul diferit, acestea sunt două lucruri diferite, dar uneori implementările lor sunt destul de similare.


Ce este clasa abstractă?

O clasă abstractă nu este complet implicată de programator. O clasă abstractă poate avea una sau mai multe metode abstracte. Sunt utile pentru modelarea unui grup de clasă sau clasament și, în timp ce acest lucru este realizat, programatorul își face ideea despre ceea ce trebuie construit după ce a văzut cerințele. Clasa abstractă nu poate fi bazată complet deoarece îi lipsește unele părți. Punctul principal din spatele acestui argument este: clasa abstractă este orientată strict pe obiecte, deși are o rubrică de metodă, dar nu are corp. Când vorbim despre clase abstracte, există o legătură puternică între două clase, deoarece aceste clase tind să câștige sau să se moștenească una de la alta.

Ce este interfața?

Când vorbim despre interfață, dimpotrivă, relația sau comunicarea dintre interfața însăși și clasa care implică interfața nu este la fel de puternică ca în clasele abstracte. O clasă Java poate implementa multe interfețe, dar poate moșteni de la o singură clasă abstractă. Deci, asta înseamnă că atunci când doriți să implicați multe interacțiuni simultan, atunci interfața este chestia dvs. În afară de acest întreg scenariu, chiar și atunci când nu doriți ca API-ul să se schimbe o perioadă, atunci interfața este cea mai bună opțiune pentru dvs. Interfața este de fapt contractul dintre două obiecte diferite. Pentru a scurta, interfața se învârte în jurul funcționalității.


Diferențele cheie

  1. O clasă abstractă este orientată pe obiect, în timp ce interfața este orientată funcțional.
  2. Când doriți ca API-ul să rămână constant un timp, atunci alegeți interfața pentru clasa abstractă.
  3. Moșteniri multiple ar putea fi obținute prin implicarea mai multor interfețe. În clasa abstractă, nu puteți obține moșteniri multiple.
  4. Dacă aveți un vibe pe care în viitor, ar trebui să adăugați metode în munca dvs., atunci se alege clasa abstractă, nu interfață.
  5. Clasa abstractă oferă o aplicație comună de clasă de bază, dar nimic nu se întâmplă în interfață.
  6. În interfață, toate metodele pe care le implementați sunt publice, dar în clasa abstractă puteți aplica, de asemenea, unele metode care nu sunt publice.
  7. Constructorii nu sunt acolo în interfață, dar apar în clasa abstractă.
  8. Membru complet al clasei abstracte ar putea fi static, dar nu de interfață.

Principala diferență între Aria și Recitativ ete că Aria ete o pieă muzicală pentru o ingură voce, ca parte a unei opere mai mari și Recitativ ete o formă muzicală în operă, cantata, maă au ...

Principala diferență între cupru și fier ete că Cuprul ete un element chimic cu numărul atomic de 29 și Fierul ete un element chimic 26 au o ubtanță implă compuă din aceta. Cupru Cuprul ete un ...

Posturi Fascinante