Skirtumas tarp abstrakčios klasės ir sąsajos

Autorius: Laura McKinney
Kūrybos Data: 3 Balandis 2021
Atnaujinimo Data: 2 Liepos Mėn 2024
Anonim
Abstract Classes vs Interfaces (Java)
Video.: Abstract Classes vs Interfaces (Java)

Turinys

Pagrindinis skirtumas

Pagrindinis skirtumas tarp abstrakčios klasės ir sąsajos yra tas, kad „Java“ sąsajos procedūros iš esmės yra abstrakčios ir negali turėti programų. Taigi plačiai tariant, sąsaja iš tikrųjų yra sutartis ir kai mes kalbame apie sąsają, tai reiškia, kad metodai neturi pagrindinio elemento, tai yra tik modelis. Nors abstrakčios klasės iš esmės yra klasės, kurias brangu naudoti. Anotacinės klasės ir sąsaja yra visai kita sąvoka, tai yra du skirtingi dalykai, tačiau kartais jų įgyvendinimas yra gana panašus.


Kas yra abstrakčių klasė?

Programuotojas visiškai nereiškia abstrakčios klasės. Abstrakčioji klasė gali turėti vieną ar kelis abstrakčius metodus. Jie yra naudingi modeliuojant klasių grupavimą ar klasifikavimą. Kol tai vykdoma, programuotojas, pamatęs reikalavimus, supranta, ką reikia sukurti. Abstraktine klase negalima visiškai pasikliauti, nes joje nėra kai kurių dalių. Pagrindinis šio argumento punktas yra tas, kad abstrakti klasė yra griežtai orientuota į objektą, nors ji turi metodo kryptį, bet neturi kūno. Kai mes kalbame apie abstrakčias klases, tarp dviejų klasių yra stiprus ryšys, nes šios klasės yra linkusios įgyti ar paveldėti viena nuo kitos.

Kas yra sąsaja?

Kai mes kalbame apie sąsają, atvirkščiai, pačios sąsajos ir klasės ryšys ar ryšys, reiškiantis sąsają, nėra toks stiprus, kaip abstrakčiose klasėse. „Java“ klasė gali įgyvendinti daug sąsajų, bet gali paveldėti iš vienos abstrakčios klasės. Taigi, tai reiškia, kad kai norite nurodyti daugybę sąveikų vienu metu, sąsaja yra jūsų dalykas. Išskyrus visą šį scenarijų, net jei nenorite, kad API kurį laiką keistųsi, sąsaja yra jums geriausias pasirinkimas. Sąsaja iš tikrųjų yra sutartis tarp dviejų skirtingų objektų. Norėdami sutrumpinti, sąsaja sukasi apie funkcionalumą.


Pagrindiniai skirtumai

  1. Abstrakti klasė orientuojama į objektą, o sąsaja yra orientuota į funkciją.
  2. Jei norite, kad API tam tikrą laiką išliktų pastovi, tuomet pasirenkate abstrakčios klasės sąsają.
  3. Daugybę palikimų galima gauti įvedant kelias sąsajas. Būdamas abstrakčioje klasėje, tu negali gauti kelių paveldėjimų.
  4. Jei turite vilties, kad ateityje jums reikės įtraukti metodus į savo darbą, pasirenkama abstrakti klasė, o ne sąsaja.
  5. Anotacija klasė suteikia bendrą bazinės klasės taikymą, bet nieko tokio neįvyksta sąsajoje.
  6. Sąsajoje visi jūsų įdiegti metodai yra vieši, tačiau abstrakčioje klasėje galite pritaikyti ir kai kuriuos neviešus metodus.
  7. Konstruktorių nėra sąsajoje, bet jie pasitaiko abstrakčioje klasėje.
  8. Visiškas abstrakčios klasės narys gali būti statiškas, bet ne prie sąsajos.

Skirtumas tarp gražios ir puošnios

Monica Porter

Liepos Mėn 2024

Pagrindini kirtuma tarp „Pretty“ ir „Gorgeou“ yra ta, kad „Pretty“ nagrinėja bendrą išvaizdą, darant prielaidą, kad ji yra gera ir gerenė, o „Gorgeou“ nagrinėja tik bendrą kūno udėjimą ir tulbinantį g...

Katė prieš katę - koks skirtumas?

Monica Porter

Liepos Mėn 2024

Katė Naminė katė (Feli ilvetri catu arba Feli catu) yra maža, papratai kailini, mėėdžių žinduoli. Jie dažnai vadinami naminėmi katėmi, kai laikomi naminiai gyvūnėliai, arba tieiog katėmi, kai nereik...

Popular Šiandien