Što je apstraktna klasa u Javi?

  • Apstraktni časovi su kao i bilo koji drugi uobičajeni tečajevi u Javi. Glavna razlika između apstraktne klase i normalne klase je stvoriti apstraktnu klasu koja nam treba koristiti ključnu riječ "ABSTARCT". To je odvajanje implementacije klase.
  • Koristili su za definiranje vrlo uobičajenih značajki njegovih podrazreda. Takva vrsta klase koja se smatra apstraktnom.
  • Najvažnije je da ne možemo stvoriti objekt apstraktne klase.
  • Sažetak predavanja može sadržavati apstraktne i neastraktne metode. Oni ne mogu sadržavati tijelo apstraktne metode koju može pružiti samo potklasa. Ako podrazred ne pruža implementaciju apstraktne metode, moramo to izričito SAŽETITI.
  • Drugim riječima, ako klasa sadrži apstraktnu metodu, onda se mora definirati kao ABSTARCT.
  • Korištenjem apstraktnih klasa možemo grupirati nekoliko klasa java zajedno to također optimizira kod i čini kôd čitljivijim i smanjuje suvišnost. Također nudi predložak za buduće časove.

Sintaksa apstraktne klase na Javi

Kako apstraktni razred djeluje u Javi?

  • Apstraktna klasa ima apstraktnu metodu i neastraktnu metodu, tj. Apstraktnu metodu bez tijela, a mogu imati i metode s implementacijom.
  • Apstraktna klasa koristi se za pružanje najčešće značajke koja je svojstvena različitim klasama. Podklase mogu pružiti različitu provedbu tih apstraktnih metoda u skladu s njihovim potrebama ili potrebama.
  • Objekt apstraktne klase ne možemo stvoriti pomoću operatora 'new', ali još uvijek možemo definirati njegov konstruktor koji se može pozvati samo u konstruktoru njegovog podrazreda. Konstruktor podrazreda može pristupiti konstruktoru nadklase kako bi inicijalizirao svoju varijablu koja bi se za daljnji zahtjev mogla koristiti u potklasi.

Primjeri apstraktne klase na Javi

Human.java

package com.cont.article;
public abstract class Human
(
public abstract void whatTheylike();
public void doTheysleep()
(
System. out .println("Yes every human require sleep.");
)
)

Human1.java

package com.cont.article;
public class Human1 extends Human
(
@Override
public void whatTheylike()
(
System. out .println("we like to have icecream.");
)
)

Human2.java

package com.cont.article;
public class Human2 extends Human
(
@Override
public void whatTheylike()
(
System. out .println("we like to have coffee.");
)
)

TestHuman.java

package com.cont.article;
public class TestHuman
(
public static void main(String() args)
(
Human human1 = new Human1();
human1.whatTheylike();
Human human2 = new Human2();
human2.whatTheylike();
human1.doTheysleep();
human2.doTheysleep();
)
)

Izlaz:

U gornjem primjeru imamo LJUDI kao apstraktnu klasu koja definira zajedničke potrebe, simpatije i nesklonosti čovjeka. Postoje različite vrste ljudi s različitim simpatijama i nesklonostima. Tako svaki čovjek može pružiti specifičnu provedbu onoga što voli. To će biti specifično samo za njih.

Glavna prednost apstraktne klase je u tome što imamo specifičnu implementaciju metoda prema zahtjevu što također dovodi do smanjenja suvišnosti, povećava čitljivost koda, skriva implementaciju metoda i na taj način omogućava djelomičnu apstrakciju.

Možemo imati još jedan primjer da shvatimo kada trebamo koristiti sažetke.

  • Trebali bismo koristiti apstraktnu klasu kada želimo s zajedničkom implementacijom dijeliti zajedničke funkcionalnosti između različitih klasa.
  • U apstraktnim klasama polja ne bi trebala biti statična i konačna, a možemo i konkretne metode definirati kao privatne, javne i zaštićene.

Recimo da imamo jedan razred životinja. Na zemlji postoje razne životinje koje se u nekom ili većem smislu razlikuju jedna od druge. Sadržat će sve zajedničke osobine svih.

Sada, ova klasa životinja ne može imati metode specifične za svaku životinju. Dakle, konceptom klase Abstract možemo ovu funkcionalnost implementirati bez suvišnog koda.

Sve životinje imaju različitu vrstu zvuka, navike itd. Na primjer pas, mačka, slon i grickalica, sve imaju različit zvuk. Dakle, za to u roditeljskoj klasi možemo imati generičku metodu putem koje sve ostale podrazrede ili podređene klase mogu pružiti vlastitu specifičnu implementaciju.

U roditeljskoj klasi tj. Životinji imamo jednu opću apstraktnu metodu koja se zove njihov zvuk (). Stoga svaka dječja klasa treba prevladati ovu metodu i pružiti vlastitu specifičnu primjenu.

Sažetak klase i sučelja?

  • Sažetak klase i sučelje koriste se za postizanje apstrakcije u javi. Apstraktna klasa pruža djelomičnu apstrakciju dok sučelje pruža 100% ili potpunu apstrakciju.
  • Po zadanom su varijable u sučelju konačne. Ali apstraktna klasa sadrži i ne-konačnu varijablu. Slično apstraktna klasa može imati i statičku, nestatičku varijablu. Ali sučelje će sadržavati samo konačnu i statičku varijablu.
  • Članke varijable apstraktne klase mogu biti poput privatnih, javnih, zaštićenih, ali u slučaju sučelja one su po defaultu javno.
  • Apstraktna klasa može proširiti drugu Java klasu i implementirati više sučelja, ali jedno sučelje može proširiti samo drugo sučelje. Apstraktna klasa može osigurati implementaciju sučelja, ali sučelje to ne može učiniti.
  • Za implementaciju i proširenje sučelja i klasa koristimo ključne riječi za implementaciju i proširenje.
  • Metodom možemo mijenjati ili pristupati nestatičkim i ne-konačnim varijablama apstraktne klase.

Zaključak

  • Sažetak klase koristi za djelomičnu apstrakciju. Apstraktnu klasu nije moguće instancirati korištenjem ključne riječi NOVO.
  • Apstraktna metoda nema tijelo i uvijek završava točkom sa zarezom (;).
  • Sažetak predavanja sadrži apstraktne i neastraktne metode.
  • Podklasa apstraktnog superklasa, mora osigurati provedbu svih apstraktnih metoda ako ih ne predviđa, onda se mora deklarirati kao apstraktna klasa.
  • Podklasa može biti apstraktna čak i ako je superrazred konkretan.
  • Neastraktna klasa ne može sadržavati apstraktne metode. Također, apstraktna metoda je nestatična.
  • Stoga možemo reći da apstraktne klase sadrže i apstraktne i konkretne metode, tako da ne mogu osigurati 100% apstrakciju. To je postupak skrivanja složene logike od krajnjeg korisnika i pokazuje im samo usluge. Podklasa može biti apstraktna čak i ako je njen superklasa konkretan, pa se može koristiti i kao vrsta podataka.
  • Apstraktna klasa može imati statička polja i statičke metode. Možete koristiti te statičke članove s referencom klase.

Preporučeni članci

Ovo je vodič za Sažetak klase na Javi. Ovdje ćemo raspravljati o sintaksi i primjerima apstraktne klase u Javi, zajedno s apstraktnom klasom i sučeljem. Možete pogledati i sljedeće članke da biste saznali više -

  1. Java sučelje vs apstraktna klasa
  2. BoxLayout u Javi
  3. Što je Java SE?
  4. Što je nasljeđivanje Java?
  5. Kako djeluje apstraktna klasa u PHP-u?
  6. Sažetak Razred C ++
  7. Vodič za statičku metodu u PHP-u
  8. Kompletan pregled statičke metode JavaScripta

Kategorija: