Atšķirība starp abstrakciju un iekapsulēšanu

Abstrakcijas definīcija

Abstrakcija ir OOP koncepcija, kas koncentrējas tikai uz būtiskiem objekta datiem. Tas slēpj fona detaļas un uzsver būtiskos datu punktus, lai samazinātu sarežģītību un palielinātu efektivitāti. Parasti tajā tiek saglabāta tikai informācija, kas ir visatbilstošākā konkrētajam procesam. Abstrakcijas metode galvenokārt koncentrējas uz ideju, nevis uz faktisko darbību.

Šajā apmācībā jūs uzzināsit

Iekapsulēšanas definīcija

Iekapsulēšana ir metode, kas atvieglo sarežģītas sistēmas lietošanu gala lietotājiem. Lietotājam nav jāuztraucas par sistēmas iekšējām detaļām un sarežģītību. Iekapsulēšana ir datu un koda iesaiņošanas process, kas darbojas ar datiem vienā entītijā. To var uzskatīt par aizsargājošu iesaiņojumu, kas pārtrauc nejaušu piekļuvi kodam, kas definēts ārpus šī iesaiņojuma.

Abstrakcija pret iekapsulēšanu



GALVENĀ ATŠĶIRĪBA

  • Abstrakcija parāda tikai noderīgus datus, sniedzot visnepieciešamāko informāciju, turpretī iekapsulēšana aptver kodu un datus nepieciešamajai informācijai.
  • Abstrakcija galvenokārt ir vērsta uz to, kas būtu jādara, savukārt iekapsulēšana ir vērsta uz to, kā tas būtu jādara.
  • Abstrakcija slēpj sarežģītību, sniedzot jums abstraktāku attēlu, savukārt iekapsulēšana slēpj iekšējo darbību, lai vēlāk to varētu mainīt.
  • Abstrakcija palīdz jums sadalīt programmu daudzās neatkarīgās daļās, turpretī iekapsulēšanu ir viegli mainīt ar jaunām prasībām.
  • Abstrakcija atrisina problēmu dizaina līmenī, bet iekapsulēšana atrisina problēmu ieviešanas līmenī.
  • Abstrakcija slēpj kodā atrodamo neatbilstošo informāciju, turpretī iekapsulēšana palīdz izstrādātājiem viegli sakārtot visu kodu.

Kāpēc jums nepieciešama abstrakcija?

Šeit ir galvenie iemesli, kāpēc objektorientētai programmēšanai nepieciešama abstrakcija:

  • Palīdz vienkāršot domēna modeļu attēlojumu.
  • Abstrakcija slēpj kodā atrodamo neatbilstošo informāciju.
  • Abstrakcija palīdz jums sadalīt programmu daudzos neatkarīgos jēdzienos.
  • Piedāvā vislielāko elastību, lietojot ADT (Abstract Data Type) objektus dažādās situācijās

Kāpēc jums ir nepieciešama iekapsulēšana?

Iekapsulēšanas galvenās priekšrocības ir

  • Tas uzlabo lietojumprogrammas apkopi.
  • Piedāvā elastību lietotājam ļoti viegli izmantot sistēmu
  • Palīdz izstrādātājiem labāk sakārtot kodu
  • Atvieglo kopējo kodēšanas procesu, jo jūs uztrauc tikai tas, ko dara cita klase, nevis tas, kā tas tiek darīts
  • Šī metode palīdz izstrādātājiem būt vairāk “objektīviem” un orientētiem uz rezultātu.
  • Iekapsulētais kods ir diezgan elastīgs un viegli maināms atbilstoši jaunām prasībām.
  • Iekapsulēšana atvieglo vienību testēšanu.
  • Tas ļauj samazināt moduļu savienošanu un palielina kohēziju moduļa iekšienē, jo visi vienas lietas gabali ir iekapsulēti vienā vietā.
  • Iekapsulēšana palīdz mainīt koda daļu, neietekmējot citas koda daļas.
  • Uzlabo lietojumprogrammas koda lasāmību
  • Uzlabota drošība un atvieglo lietojumprogrammas apkopi
  • Iekapsulēšanas saskarne nodrošina tikai skaidri definētu mijiedarbību.

Abstrakcijas piemērs

Pieņemsim, ka vēlaties izveidot bankas lietojumprogrammu un jums tiek lūgts apkopot visu informāciju par savu klientu. Pastāv iespēja, ka jūs iegūsit šādu informāciju par klientu.

Bet, lai izveidotu bankas lietojumprogrammu, nav nepieciešama visa iepriekš minētā informācija.

Tātad jums ir jāizvēlas tikai noderīga informācija jūsu bankas lietojumprogrammai no šī rezerves. Tādi dati kā vārds, adrese, nodokļu informācija utt. Ir jēga banku lietojumprogrammai.

Tā kā mēs esam paņēmuši/noņēmuši/atlasījuši klienta informāciju no lielāka kopuma, process tiek saukts par abstrakciju.

Tomēr to pašu informāciju pēc iegūšanas var izmantot plašam lietojumu klāstam. Piemēram, tos pašus datus varat izmantot slimnīcu lietojumprogrammām, darba portāla lietojumprogrammām, valdības datu bāzei utt., Ar nelielām izmaiņām vai bez tām. Tādējādi tie kļūst par jūsu pamatdatiem. Šī ir Abstrakcijas priekšrocība.

Iekapsulēšanas piemērs

Apskatīsim mobilās ierīces piemēru. Ar mobilo ierīču palīdzību jūs varat veikt dažādas funkcijas, piemēram, uzņemt attēlu, nosūtīt ziņojumu, ierakstīt video/ audio, piekļūt tīmeklim un daudz ko citu.

Iepriekš minētās funkcijas ir lielākās daļas viedtālruņa funkcijas. Tomēr pirms šīs programmas izmantošanas jums nav jāsaprot šo funkciju iekšējā funkcionālā informācija. Piemēram, jums nav jāzina, kā jūsu kamera aprēķina gamma korekciju vai identificē cilvēka seju attēlā. Jums vienkārši jāapgūst programmatūras saskarne. Šī ir iekapsulēšana.

Abstrakcija vs. Iekapsulēšana

Parametrs Abstrakcija Iekapsulēšana
Izmantot priekšAbstrakcija atrisina problēmu un problēmas, kas rodas projektēšanas stadijā.Iekapsulēšana atrisina problēmu un problēmu, kas rodas ieviešanas posmā.
FokussAbstrakcija ļauj koncentrēties uz to, ko objekts dara, nevis uz to, kā tas tiek darītsIekapsulēšana ļauj paslēpt kodu un datus vienā vienībā, lai aizsargātu datus no ārpasaules.
ĪstenošanaJūs varat izmantot abstrakciju, izmantojot saskarni un abstraktu klasi.Jūs varat īstenot iekapsulēšanu, izmantojot piekļuves pārveidotājus (publiski, aizsargāti un privāti).
FokusējasKoncentrējieties galvenokārt uz to, kas būtu jādara.Galvenokārt koncentrējieties uz to, kā tas būtu jādara.
PieteikumsProjektēšanas līmenī.Īstenošanas līmeņa laikā.