![Ero abstraktin luokan ja käyttöliittymän välillä - Koulutus Ero abstraktin luokan ja käyttöliittymän välillä - Koulutus](https://a.you7behappy.com/education/difference-between-abstract-class-and-interface.jpg)
Sisältö
Tärkein ero
Tärkein ero abstraktin luokan ja käyttöliittymän välillä on, että Java-käyttöliittymän proseduurit ovat pääosin abstrakteja, eikä niissä voi olla sovelluksia. Niin laajasti sanottuna käyttöliittymä on oikeastaan sopimus ja kun puhumme rajapinnasta, se tarkoittaa, että menetelmillä ei ole runkoa, se on vain malli. Vaikka abstraktit luokat ovat pohjimmiltaan luokkia, jotka ovat kalliita käyttää. Abstraktit luokat ja käyttöliittymä on aivan erilainen käsite, nämä ovat kaksi eri asiaa, mutta toisinaan niiden toteutukset ovat melko samanlaisia.
Mikä on tiivistelmäluokka?
Ohjelmoija ei tarkoita abstraktia luokkaa kokonaan. Abstraktilla luokalla voi olla yksi tai useampi abstrakti menetelmä. Ne ovat hyödyllisiä luokitteluryhmän tai luokittelun mallintamisessa, ja kun tätä toteutetaan, ohjelmoija saa käsityksen siitä, mitä on rakennettava, kun se on nähnyt vaatimukset. Abstraktiin luokkaan ei voida luottaa kokonaan, koska siitä puuttuu joitain osia. Tämän väitteen takana on, että abstrakti luokka on tiukasti kohdeorientoitunut, vaikka sillä on menetelmän otsikko, mutta ei runkoa. Kun puhumme abstrakteista luokista, kahden luokan välillä on vahva yhteys, koska opinnäytteet opiskelevat tai perivät toisiltaan.
Mikä on käyttöliittymä?
Kun puhumme rajapinnasta, päinvastoin, itse rajapinnan ja rajapinnan tarkoittavan luokan välinen suhde tai kommunikointi ei ole niin vahvaa kuin abstrakteissa luokissa. Java-luokka voi toteuttaa monia rajapintoja, mutta voi periä yhdestä abstraktista luokasta. Joten se tarkoittaa, että kun haluat olettaa monia vuorovaikutuksia kerralla, käyttöliittymä on sinun asia. Tämän koko skenaarion lisäksi, vaikka et haluakin, että sovellusliittymä muuttuu jonkin aikaa, käyttöliittymä on paras vaihtoehto sinulle. Rajapinta on oikeastaan kahden eri kohteen välinen sopimus. Lyhyen lyhentämiseksi käyttöliittymä pyörii toiminnallisuuden ympärillä.
Keskeiset erot
- Abstrakti luokka on kohdeorientoitunut, kun taas käyttöliittymä on toimintoorientoitunut.
- Kun haluat, että API pysyy vakiona jonkin aikaa, valitset käyttöliittymän abstraktin luokan yli.
- Useita perinnöitä voitaisiin saada sisällyttämällä useita rajapintoja. Abstraktissa luokassa et voi saada useita perintöjä.
- Jos sinulla on tunnelma, että sinun on tulevaisuudessa lisättävä menetelmiä työhösi, valitaan abstrakti luokka, ei käyttöliittymä.
- Abstrakti luokka antaa yhteisen perusluokan sovelluksen, mutta mitään sellaista ei tapahdu käyttöliittymässä.
- Käyttöliittymässä kaikki toteutetut menetelmät ovat julkisia, mutta abstraktissa luokassa voit myös käyttää joitain ei-julkisia menetelmiä.
- Rakentajia ei ole siellä rajapinnassa, mutta ne tapahtuvat abstraktissa luokassa.
- Abstraktin luokan täydellinen jäsen voi olla staattinen, mutta ei käyttöliittymä.