Sučelja i apstraktne klase u Javi

Sadržaj
Iako se obje strukture mogu činiti sličnima jer prisiljavaju klase koje ih koriste da stvore metode koje imaju i koriste ih kako bi mogle biti valjane, među njima postoje ključne razlike koje nam mogu dati više svjetla o tome kako ih možemo koristiti .
Različitosti, iako su suptilne, omogućuju nam korištenje obje strukture čak i u kombinaciji, na taj način možemo postići veći red u našem projektu i stvoriti aplikacije koje nam omogućuju bolju reprodukciju objekata stvarnog svijeta u digitalnom formatu.
OgraničenjaGlavna razlika koju vidimo između apstraktne nastave i sučelja jest da je prva klasa, a druga nije, iako je sučelje ima sličnu strukturu suočava se s ograničenjima koja se ne nalaze u a apstraktna klasa.
VarijableThe apstraktna klasa nema ograničenja u korištenju varijabli, međutim sučelje ako ima, zapravo sve varijable koje ćemo koristiti moraju biti javni, statični ili konačni.
U ovom slučaju graditelj od apstraktna klasa moraju se dozvati kroz podklase, što ostavlja mogućnost instanciranja putem operatora novi.
U slučaju sučelje, ovo ne može imati konstruktore jer nije klasa, zbog čega također odbacujemo stvaranje instanci s operatorom novi.
MetodeU sučelje metode moraju biti javni sažetak S druge strane, u apstraktnu klasu možemo bez problema smjestiti bilo koju vrstu metode, što nam čini još jednu razliku.
Još jedna stvar koju moramo uzeti u obzir je način nasljeđivanja i implementacije koji možemo postići s ove dvije strukture Java, znamo da kad to učinimo nasljedstvo U klasi možemo naslijediti samo izravno od nadređene klase, to jest, ako želimo naslijediti od dvije različite klase, moramo stvoriti kao kaskadni učinak, gdje prva klasa nasljeđuje od superiorne klase, a zatim druga klasa od ovo radi dobivanja njegove funkcionalnosti i funkcije roditeljske klase.
U sučelja Do ovog problema ne dolazi, zapravo možemo naslijediti izravno s nekoliko sučelja, pa ako želimo dobiti njihove metode, možemo to učiniti bez problema.

U slučaju implementacija sučelja u apstraktnoj klasi ako imamo više slobode, u ovom slučaju možemo implementirati više sučelja bez ikakvih ograničenja u ovom slučaju, što nam daje mogućnost da napravimo složenije roditeljsko sučelje, da tako kažemo. Ovdje je važno znati i uzeti u obzir da sučelje nije klasa i stoga ne može naslijediti od jedne, već samo može nasljeđivanje od drugih sučelja.

Ovim smo završili ovaj vodič, vidjeli smo razlike u ograničenjima i implementaciji u naše programe ovih dviju struktura u JavaIako oboje služe za modeliranje i definiranje ponašanja, svako od njih ima svoj prostor, pa kad ih bolje poznajemo, moći ćemo odlučiti koje ćemo koristiti u našim programima napravljenim na ovom jeziku.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave