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.