Razlika između klase apstrakcije i sučelja

Autor: Laura McKinney
Datum Stvaranja: 3 Travanj 2021
Datum Ažuriranja: 2 Srpanj 2024
Anonim
Nasleđivanje, apstraktne klase, polimorfizam i interfejsi
Video: Nasleđivanje, apstraktne klase, polimorfizam i interfejsi

Sadržaj

Glavna razlika

Glavna razlika između apstraktne klase i sučelja je u tome što su postupci Java sučelja u osnovi apstraktni i ne mogu imati aplikacije. Dakle, široko navedeno, sučelje je zapravo ugovor, a kad govorimo o sučelju, primjenjuje se da metode nemaju tijelo, to je samo obrazac. Iako su sažetak klase u osnovi skupovi koje je skupo koristiti. Sažetak predavanja i sučelje potpuno je različit koncept, to su dvije različite stvari, ali ponekad su i njihove implementacije vrlo slične.


Što je apstraktna klasa?

Apstraktnu klasu programer ne podrazumijeva u potpunosti. Apstraktna klasa može imati jednu ili više apstraktnih metoda. Korisni su za modeliranje grupiranja ili rangiranja klasa i dok se to provodi, programer dobiva ideju o tome što treba graditi nakon što vidi zahtjeve. Na sažetak se ne može u potpunosti pouzdati jer nedostaje nekih dijelova. Glavna točka iza ovog argumenta je da je apstraktna klasa strogo objektno orijentirana, iako ima zaglavlje metode, ali nema tijelo. Kada govorimo o apstraktnim klasama, postoji snažna veza između dvije klase, jer teze imaju tendenciju dobivanja ili nasljeđivanja jedna od druge.

Što je sučelje?

Kada govorimo o sučelju, naprotiv, tada odnos ili komunikacija između samog sučelja i klase koja podrazumijeva sučelje nije tako jak kao što je to u apstraktnim klasama. Java klasa može implementirati mnoga sučelja, ali može naslijediti od jedne apstraktne klase. Dakle, to znači da kad želite podrazumijevati mnogo interakcija odjednom, tada je sučelje vaša stvar. Osim cijelog ovog scenarija, čak i kada neko vrijeme ne želite da se API mijenja, tada je sučelje najbolja opcija za vas. Sučelje je zapravo ugovor između dva različita objekta. Da skratim, sučelje se vrti oko funkcionalnosti.


Ključne razlike

  1. Apstraktna klasa je objektno orijentirana dok je sučelje orijentirano na funkciju.
  2. Kad želite da API neko vrijeme ostane konstantan tada birate sučelje preko apstraktne klase.
  3. Mnogostrukim nasljeđivanjem može se postići impliciranjem više sučelja. Dok ste u apstraktnom razredu, ne možete dobiti više nasljeđa.
  4. Ako imate vibru koju biste u budućnosti trebali dodati metode u svom radu, tada se bira apstraktna klasa, a ne sučelje.
  5. Apstraktna klasa daje uobičajenu aplikaciju za osnovnu klasu, ali ništa se takvo ne događa u sučelju.
  6. U sučelju, sve metode koje implementirate su javne, ali u apstraktnoj klasi možete primijeniti i neke nejavne metode.
  7. Konstruktori nisu tamo u sučelju, ali događaju se u apstraktnoj klasi.
  8. Potpuni član apstraktne klase mogao bi biti statički, ali ne i sučelje.

Foe vs. Faux - u čemu je razlika?

Louise Ward

Srpanj 2024

Foe (pridjev)Neprijateljki.Foe (imenica)Neprijatelj.Foe (imenica)Jedinica energije jednaka 1044 džula. Lažni (pridjev)Lažni ili umjetni Foe (imenica)neprijatelja ili protivnika"njegovi u radovi h...

Dana je vraćanje robe avim uobičajena tvar oim prodaje i kupnje robe. Debitna i kreditna bilješka u dokument ili memorandum koji ljudi iz dviju tvrtki korite kada vrše povrat robe. Ljudima je četo bil...

Udio