Mikä on Java-abstraktiluokka?

  • Abstraktit luokat ovat kuten kaikki muut normaalit klassit javalla. Suurin ero abstraktin luokan ja normaalin luokan välillä on luoda abstrakti luokka, jota meidän on käytettävä 'ABSTARCT'-avainsanalla. Se on luokan toteutuksen erottelu.
  • He määrittelivät sen alaluokkien hyvin yleiset piirteet. Tällainen luokka luokiteltiin abstraktiksi luokka.
  • Tärkeintä, ettemme voi luoda abstraktin luokan objektia.
  • Abstraktit luokat voivat sisältää sekä abstrakteja että ei-abstrakteja menetelmiä. Ne eivät voi sisältää abstraktin menetelmän runkoa, jonka voi antaa vain alaluokka. Jos alaluokka ei tarjoa abstraktin menetelmän toteutusta, meidän on tehtävä siitä abstrakti.
  • Toisin sanoen, jos luokka sisältää abstraktin menetelmän, sen on määriteltävä itsensä nimellä ABSTARCT.
  • Käyttämällä abstrakteja luokkia voimme ryhmitellä useita Java-luokkia yhdessä. Se myös optimoi koodin ja tekee koodista entistä luettavamman ja vähentää redundanssia. Se tarjoaa myös mallin tuleville luokille.

Java-abstraktin luokan syntaksi

Kuinka abstrakti luokka toimii Java-järjestelmässä?

  • Abstraktissa luokassa on abstrakti menetelmä ja ei-abstrakti menetelmä eli abstrakti menetelmä ilman vartaloa ja heillä voi olla myös menetelmiä toteutustavoilla.
  • Abstraktia luokkaa käytetään tarjoamaan yleisin ominaisuus, joka on ominaista eri luokille. Alaluokat voivat tarjota noiden abstraktien menetelmien erilaisen toteutuksen tarpeiden tai vaatimusten mukaan.
  • Emme voi luoda abstraktin luokan objektia 'uutta' operaattoria käyttämällä, mutta voimme silti määritellä sen rakentajan, johon voidaan vedota vain sen alaluokan rakentajassa. Alaluokan rakentaja voi käyttää superluokan rakentajaa alustaakseen sen muuttujan, jota voidaan käyttää alaluokassa lisävaatimusta varten.

Esimerkkejä Java-abstraktista luokasta

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();
)
)

lähtö:

Yllä olevassa esimerkissä meillä on INIMENET abstraktina luokana, joka määrittelee ihmisen yhteiset tarpeet, tykkäykset ja inho. On olemassa erityyppisiä ihmisiä, joilla on erilaisia ​​tykkäyksiä ja inhoa. Joten jokainen ihminen voi tarjota tietyn toteutuksen haluamastaan. Se tulee olemaan vain heille erityistä.

Abstraktin luokan tärkein etu on, että meillä on erityinen menetelmien toteutus vaatimuksen mukaisesti, joka myös vähentää redundanssia, lisää koodin luettavuutta, piilottaa menetelmien toteutuksen ja tarjoaa siten osittaisen abstraktin.

Meillä voi olla vielä yksi esimerkki ymmärtää, milloin meidän pitäisi käyttää tiivistelmäluokkia.

  • Meidän tulisi käyttää abstraktia luokkaa, kun haluamme jakaa yhteisen toiminnallisuuden eri luokkien välillä tietyn toteutuksen kanssa.
  • Abstraktissa luokassa kenttien ei pitäisi olla staattisia ja lopullisia, meillä voi myös olla konkreettisia menetelmiä, jotka voidaan määritellä yksityisiksi, julkisiksi ja suojatuiksi.

Sanotaan, että meillä on yksi eläinluokka. Maapallolla on erilaisia ​​eläinlajeja, ja ne kaikki eroavat toisistaan ​​tietyssä tai suuressa merkityksessä. Se sisältää kaikkien kaikkien yhteiset piirteet.

Nyt tällä eläinluokalla ei voi olla jokaiselle eläimelle ominaisia ​​menetelmiä. Joten abstraktin luokan käsitteellä voimme toteuttaa tämän toiminnallisuuden ilman redundanttia koodia.

Kaikilla eläimillä on erityyppinen ääni, tottumukset jne. Esimerkiksi koira, kissa, norsu ja välipala heillä kaikilla on erilainen ääni. Joten tätä varten meillä voi olla vanhemmissa luokissa yleinen menetelmä, jonka kautta kaikki muut alaluokka tai lapsiluokka voivat tarjota oman erityisen toteutuksensa.

Vanhemmissa luokissa eli eläimissä meillä on yksi yleinen abstrakti menetelmä, nimeltään heidän ääni (). Joten jokaisen lapsiluokan on ohitettava tämä menetelmä ja annettava oma erityinen toteutuksensa.

Abstrakti luokka ja käyttöliittymä?

  • Abstraktia luokkaa ja käyttöliittymää käytetään molemmin puolin abstraktin saavuttamiseen. Abstrakti luokka tarjoaa osittaisen abstraktion, kun taas käyttöliittymä tarjoaa 100% tai täydellisen abstraktion.
  • Oletuksena rajapinnan muuttujat ovat lopulliset. Mutta abstrakti luokka sisältää myös ei-lopullisen muuttujan. Samoin abstraktilla luokalla voi olla myös staattinen, ei-staattinen muuttuja. Mutta rajapinta sisältää vain lopullisen ja staattisen muuttujan.
  • Abstraktin luokan jäsenmuuttujat voivat olla kuin yksityisiä, julkisia, suojattuja, mutta rajapinnan tapauksessa ne ovat oletuksena julkisia.
  • Abstrakti luokka voi laajentaa toisen Java-luokan ja toteuttaa useita rajapintoja, mutta yksi rajapinta voi laajentaa vain toisen rajapinnan. Abstrakti luokka voi tarjota käyttöliittymän toteutuksen, mutta käyttöliittymä ei voi tehdä niin.
  • Käytämme välineitä ja laajennamme avainsanaa toteuttaaksemme ja laajentaaksemme vastaavasti käyttöliittymää ja luokkia.
  • Menetelmän avulla voimme muokata tai käyttää abstraktin luokan epästaattisia ja ei-lopullisia muuttujia.

johtopäätös

  • Abstrakti luokka, jota käytettiin osittaisen abstraktion tuottamiseen. Abstraktia luokkaa ei voida toteuttaa uudella avainsanalla.
  • Abstraktilla menetelmällä ei ole runkoa, ja se päättyy aina puolipisteellä (;).
  • Abstrakti luokka sisältää abstrakteja ja ei-abstrakteja menetelmiä.
  • Abstraktin superluokan alaluokan on tarjottava kaikkien abstraktien menetelmien toteutus, jos sitä ei tarjota, sen on siis julistettava itsensä abstraktiksi luokkaksi.
  • Alaluokka voi olla abstrakti, vaikka yliluokka olisi konkreettinen.
  • Ei-abstrakti luokka ei voi sisältää abstrakteja menetelmiä. Myös abstrakti menetelmä ei-staattinen.
  • Voimme siis sanoa, että abstraktit luokat sisältävät myös abstrakteja ja konkreettisia menetelmiä, joten ne eivät voi tarjota 100-prosenttista abstraktiota. Se on prosessi, jolla piilotetaan monimutkainen logiikka loppukäyttäjältä ja näytetään heille vain palvelut. Alaluokka voi olla abstrakti, vaikka sen yliluokka olisi konkreettinen, ja sitä voidaan käyttää myös tietotyyppinä.
  • Abstraktissa luokassa voi olla staattisia kenttiä ja staattisia menetelmiä. Voit käyttää näitä staattisia jäseniä luokkaviittauksen kanssa.

Suositellut artikkelit

Tämä on opas abstraktiluokkaan Java-kielellä. Tässä keskustellaan Java-prosessin syntaksista ja esimerkkeistä abstraktista luokasta sekä abstraktista luokasta ja käyttöliittymästä. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Java-käyttöliittymä vs abstrakti luokka
  2. BoxLayout Java-sovelluksessa
  3. Mikä on Java SE?
  4. Mikä on Java-perintö?
  5. Kuinka abstrakti luokka toimii PHP: ssä?
  6. Abstrakti luokka luokassa C ++
  7. Opas staattiseen menetelmään PHP: ssä
  8. Täydellinen yleiskatsaus JavaScript-staattisesta menetelmästä