Abstrakti Luokka

abstrakti luokka on luokka, joka on ilmoittanut, abstrakti — se voi tai ei voi sisältää abstrakteja metodeja. Abstrakteja luokkia ei voi asentaa, mutta ne voidaan alittaa. Abstraktilla luokalla voi olla staattisia kenttiä ja staattisia menetelmiä. Kun abstrakti luokka on subclassed, alaluokka yleensä tarjoaa toteutukset kaikki abstrakti menetelmiä sen vanhemman luokan. Jos näin ei kuitenkaan ole, alaluokka on myös julistettava abstraktiksi.,

abstrakti menetelmä on menetelmä, joka on ilmoitettu ilman täytäntöönpanoa (ilman henkselit ja seuraa puolipiste), kuten tämä:

abstract void sum(int a, int b);

Harkitse abstraktit luokat, jos jokin näistä lausunnoista soveltaa omaan tilanteeseen:

  1. haluat jakaa koodin joukossa useita läheisesti liittyvät luokat.
  2. Voit olettaa, että luokat, jotka ulottuvat abstrakti luokka on paljon yhteisiä menetelmiä tai kenttiä tai vaatia pääsy määritteet muita kuin julkisia (kuten suojattu ja yksityinen).
  3. haluat julistaa ei-staattisia tai ei-lopullisia kenttiä., Näin voit määritellä menetelmät, joilla voit käyttää ja muuttaa sen kohteen tilaa, johon ne kuuluvat.

rajapinta

rajapinta on vain objektin menetelmien ilmoitus; se ei ole toteutus. Rajapinnassa määrittelemme, millaista toimintaa objekti voi suorittaa. Nämä toiminnot määritellään rajapinnan toteuttavien luokkien mukaan. Rajapinnat muodostavat luokan ja ulkomaailman välisen sopimuksen, ja tämä sopimus pannaan täytäntöön rakentamisaikaan kääntäjän toimesta.,

Harkitse rajapinnat jos jokin näistä lausunnoista soveltaa omaan tilanteeseen:

  1. Voit odottaa, että liity luokat olisi toteuttaa käyttöliittymä. Esimerkiksi vertailukelpoiset ja Kloneable-rajapinnat toteutetaan monilla toisiinsa liittymättömillä luokilla.
  2. haluat määrittää tietyn tietotyypin käyttäytymisen, mutta et ole huolissasi siitä, kuka toteuttaa sen käyttäytymistä.
  3. haluat hyödyntää useita perinnöt.,

alun Perin julkaistu kesäkuu 2016

kirjallisuutta

  • Kun (Ei) Käyttää Java-Abstraktit Luokat
  • Java: Käyttöliittymä Vs. Abstrakti Luokka
  • Miten Valita Rajapinta-ja Abstrakteja Luokkia Java