Kaj je abstraktni razred na Javi?

  • Abstraktni razredi so kot vsi drugi običajni razredi na Javi. Glavna razlika med abstraktnim in običajnim razredom je v ustvarjanju abstraktnega razreda, ki ga potrebujemo za uporabo ključne besede "ABSTARCT". Gre za ločitev izvajanja razreda.
  • Določali so zelo običajne značilnosti njegovih podrazredov. Tak tip razreda, ki velja za abstraktni razred.
  • Najpomembneje je, da ne moremo ustvariti predmeta abstraktnega razreda.
  • Abstraktni razredi lahko vsebujejo abstraktne in neastraktne metode. Ne morejo vsebovati vsebine abstraktne metode, ki jo lahko zagotovi le podrazred. Če podrazred ne zagotavlja izvajanja abstraktne metode, moramo to izrecno izvzeti.
  • Z drugimi besedami, če razred vsebuje abstraktno metodo, se mora sam opredeliti kot ABSTARCT.
  • Z uporabo abstraktnih razredov lahko združimo več java razredov, hkrati pa tudi optimizira kodo in naredi kodo bolj berljivo in zmanjša odvečnost. Ponuja tudi predlogo za prihodnje razrede.

Sintaksa abstraktnega razreda v Javi

Kako abstraktni razred deluje na Javi?

  • Abstraktni razred ima abstraktno metodo in neastraktno metodo, tj abstraktno metodo brez telesa in lahko imajo tudi metode z izvajanjem.
  • Abstraktni razred se uporablja za zagotavljanje najpogostejše lastnosti, ki je značilna za različne razrede. Podrazredi lahko zagotovijo drugačno izvajanje teh abstraktnih metod glede na njihove potrebe ali zahteve.
  • Objekta abstraktnega razreda ne moremo ustvariti z operaterjem 'new', vendar lahko vseeno določimo njegov konstruktor, ki ga je mogoče priklicati le v konstruktorju njegovega podrazreda. Konstruktor podrazreda lahko dostopa do konstruktorja nadvrstnih razredov, da inicializira svojo spremenljivko, ki bi jo lahko uporabili v nadaljnjem zahtevku za nadaljnjo zahtevo.

Primeri izvlečnega razreda v 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();
)
)

Izhod:

V zgornjem primeru imamo ČLOVEKA kot abstrakten razred, ki definira skupne potrebe, všečnosti in malomarnosti človeka. Obstajajo različni tipi ljudi z različnimi všečki in všečki. Tako lahko vsak človek zagotovi določeno izvajanje tega, kar jim je všeč. To bo specifično samo za njih.

Glavna prednost abstraktnega razreda je, da imamo specifično izvajanje metod v skladu z zahtevo, ki vodi tudi do zmanjšanja odvečnosti, povečuje berljivost kode, skriva izvajanje metod in tako omogoča delno abstrakcijo.

Lahko imamo še en primer, kako razumeti, kdaj naj uporabljamo abstraktne razrede.

  • Uporabljati bi morali abstraktni razred, kadar želimo s posebnimi izvedbami deliti skupno funkcionalnost med različnimi razredi.
  • V abstraktnih razredih polja ne bi smela biti statična in končna, lahko imamo tudi konkretne metode, ki bi jih lahko opredelili kot zasebne, javne in zaščitene.

Recimo, da imamo en razred živali. Na svetu imamo vrste živali, ki so v določenem ali večjem pomenu drugačne. Vseboval bo vse skupne značilnosti vseh.

Zdaj ta razred živali ne more imeti metod, ki bi bile značilne za vsako žival. Tako lahko po konceptu abstraktnega razreda to funkcionalnost izvajamo brez odvečne kode.

Vse živali imajo različno vrsto zvoka, navade itd. Na primer Pes, mačka, slon in prigrizek, vse imajo drugačen zvok. Za to imamo lahko v nadrejenem razredu generično metodo, s katero lahko vsi drugi podrazredi ali nadrejeni razred zagotovijo svojo specifično izvedbo.

V matičnem razredu, tj. Živali, imamo eno generično abstraktno metodo, imenovano njihov zvok (). Vsak otroški razred mora prevladati nad to metodo in si zagotoviti svoje izvajanje.

Izvleček razreda in vmesnika?

  • Abstraktni razred in vmesnik se uporabljata za doseganje abstrakcije v javi. Abstraktni razred zagotavlja delno abstrakcijo, medtem ko vmesnik zagotavlja 100% ali popolno abstrakcijo.
  • Privzete spremenljivke v vmesniku so dokončne. Toda abstraktni razred vsebuje tudi neskončno spremenljivko. Podobno abstraktni razred ima lahko tudi statično, nestatično spremenljivko. Toda vmesnik bo vseboval le končno in statično spremenljivko.
  • Članke spremenljivke abstraktnega razreda so lahko zasebne, javne, zaščitene, vendar so v primeru vmesnika privzeto javne.
  • Abstraktni razred lahko razširi še en razred Java in izvede več vmesnikov, vendar lahko en vmesnik razširi le drug vmesnik. Abstraktni razred lahko zagotavlja izvedbo vmesnika, vendar vmesnik tega ne more storiti.
  • Za implementacijo in razširitev vmesnikov in razredov uporabljamo ključno besedo implementacije in razširimo.
  • S pomočjo metode lahko spreminjamo ali dostopamo do nestatičnih in neskončnih spremenljivk abstraktnega razreda.

Sklep

  • Izvleček razreda, ki se uporablja za delno abstrakcijo. Abstraktnega razreda ni mogoče uporabiti z uporabo ključne besede NOV.
  • Metoda Abstrakt nima telesa in se vedno konča s podpičjem (;).
  • Izvleček razreda vsebuje abstraktne in ne-abstraktne metode.
  • Podrazred abstraktnega superklasa mora zagotoviti izvajanje vse abstraktne metode, če ta ne zagotavlja, se mora prijaviti kot abstraktni razred.
  • Podrazred je lahko abstrakten, tudi če je nadrejen razred konkreten.
  • Neastrativni razred ne more vsebovati abstraktnih metod. Tudi abstraktna metoda je nestalna.
  • Zato lahko rečemo, da abstraktni razredi vsebujejo tudi abstraktne in konkretne metode, tako da ne morejo zagotoviti 100% abstrakcije. To je postopek skrivanja zapletene logike pred končnim uporabnikom in jim prikazuje samo storitve. Podrazred je lahko abstrakten, tudi če je njegov nadstandard konkreten in se lahko uporablja tudi kot podatkovni tip.
  • Abstraktni razred ima lahko statična polja in statične metode. Te statične člane lahko uporabite z referenco razreda.

Priporočeni članki

To je vodnik za Abstraktni razred na Javi. Tukaj razpravljamo o sintaksi in primerih abstraktnega razreda v Javi, skupaj z abstraktnim razredom in vmesnikom. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Java vmesnik in abstraktni razred
  2. BoxLayout na Javi
  3. Kaj je Java SE?
  4. Kaj je Java Dediščina?
  5. Kako deluje razred Abstrakt v PHP?
  6. Izvleček razreda C ++
  7. Vodnik po statični metodi v PHP
  8. Popoln pregled statične metode JavaScript