Erinevus abstraktse klassi ja liidese vahel

Autor: Laura McKinney
Loomise Kuupäev: 3 Aprill 2021
Värskenduse Kuupäev: 2 Juuli 2024
Anonim
Vector examples | Vectors and spaces | Linear Algebra | Khan Academy
Videot: Vector examples | Vectors and spaces | Linear Algebra | Khan Academy

Sisu

Peamine erinevus

Peamine erinevus abstraktse klassi ja liidese vahel on see, et Java-liidese protseduurid on põhimõtteliselt abstraktsed ja neil ei saa olla rakendusi. Nii laias laastus võib öelda, et liides on tegelikult leping ja kui me räägime liidesest, siis kehtib see, et meetoditel pole keha, see on lihtsalt muster. Kuigi abstraktsed klassid on põhimõtteliselt klassid, mida on kallis kasutada. Abstraktsed klassid ja liides on täiesti erinev mõiste, need on kaks erinevat asja, kuid kohati on nende rakendused üsna sarnased.


Mis on abstraktne klass?

Abstraktset klassi ei ole programmeerija täielikult vihjanud. Abstraktsel klassil võib olla üks või mitu abstraktset meetodit. Need on kasulikud klasside rühmitamise või järjestamise modelleerimisel ja selle teostamise ajal saavad programmeerijad pärast nõuete nägemist aimu, mida tuleb ehitada. Abstraktsele klassile ei saa täielikult tugineda, kuna sellel puuduvad mõned osad. Selle argumendi peamine mõte on see, et abstraktne klass on rangelt objektorienteeritud, ehkki sellel on meetodi suund, kuid mitte keha. Kui räägime abstraktsetest klassidest, siis on kahe klassi vahel tugev seos, kuna need klassid kipuvad üksteiselt kasu saama või pärima.

Mis on liides?

Kui räägime liidesest, siis vastupidi, liidese enda ja liidese vahelise klassi vaheline seos või suhtlus pole nii tugev kui abstraktsetes klassides. Java klass suudab rakendada paljusid liideseid, kuid saab pärida ühest abstraktsest klassist. See tähendab, et kui soovite vihjata paljudele interaktsioonidele korraga, on liides teie asi. Peale selle kogu stsenaariumi, isegi kui te ei soovi, et API mõnda aega muutuks, on liides teie jaoks parim valik. Liides on tegelikult leping kahe erineva objekti vahel. Lühikeseks muutmiseks keerleb liides funktsionaalsuse ümber.


Peamised erinevused

  1. Abstraktne klass on orienteeritud objektile, samas kui liides on funktsioonile orienteeritud.
  2. Kui soovite, et API püsiks mõnda aega konstantsena, valite liidese abstraktse klassi kohale.
  3. Mitme liidese abil saab pärandusi mitu. Kui olete abstraktses klassis, ei saa te mitu pärandit.
  4. Kui teil on mõtteviis, et tulevikus peaksite oma töösse lisama meetodeid, siis valitakse abstraktne klass, mitte liides.
  5. Abstraktne klass annab ühise põhiklassi rakenduse, kuid liideses midagi sellist ei juhtu.
  6. Liideses on kõik rakendatud meetodid avalikud, kuid abstraktses klassis saate rakendada ka mõnda mitteavalikku meetodit.
  7. Ehitajaid pole liideses, kuid nad esinevad abstraktses klassis.
  8. Abstraktse klassi täielik liige võib olla staatiline, kuid mitte liidesega.

urnud urm on kõigi eluorganimi äilitavate bioloogilite funktioonide lakkamine. Nähtute hulka, mi tavalielt urma põhjutavad, on vananemine, röövloomad, alatoitumine, hai...

Genova alaami ja kõva alaami peamine erinevu eineb elle, et Genova alaami kooneb ealihat ja kõvad alaamid on valmitatud ainult jahvatatud loomalihat.alami on vortitüüp ja väga...

Huvitavad Väljaanded