Starpība starp abstrakciju un iekapsulēšanu

Abstrakcija un iekapsulēšana ir objektu orientētas programmēšanas (OOP) pamatjēdzieni, kas ļauj īstenot reālās pasaules objektus programmās un kodos. Lai gan abi iet roku rokā, viņi ļoti atšķiras viens no otra. Lai gan katra metode ir iekapsulēšana, tā ir arī abstrakcija. Vienkārši sakot, saliekot dažādas lietas, lai izveidotu entītiju, jūs faktiski izveidojat koncepcija - abstrakts. Kaut arī abi ir tehniski neatdalāmi, viņiem nav burtiski nekā kopīga. Gandrīz taisnība, ka katra iekapsulēšana ir abstrakcija, jo viņi abi kaut ko slēpj, tomēr viņiem ir taisnīga daļa atšķirību.

Kas ir abstrakcija?



Abstrakcija ir OOP pamatjēdziens, kas koncentrējas tikai uz attiecīgajiem objekta datiem un slēpj visas neatbilstošās detaļas, kas var būt vai var nebūt vispārīgai vai specializētai uzvedībai. Tas slēpj pamatinformāciju un uzsver būtiskos aspektus, lai samazinātu sarežģītību un palielinātu efektivitāti. Būtībā abstrakcija ir programmēšanas rīks sarežģītības pārvaldīšanai. Abstrakcija koncentrējas uz idejām, nevis notikumiem. Tas paslēpj detaļas dizaina līmenī, nodrošinot lietotājiem funkcionalitāti. Iegūto objektu var saukt arī par abstrakciju. Programmētājs pārliecinās, ka nosauktajai entītijai būs iekļauti visi būtiskie aspekti un neviens no nebūtiskajiem aspektiem.

Ņemsim reālu abstrakcijas piemēru. Apsvērsim transportlīdzekļa gadījumu, kas šajā gadījumā ir jūsu transportlīdzeklis. Mehāniķis mēģina salabot jūsu automašīnu vai, pieņemsim, noteiktu jūsu automašīnas daļu. Šeit jūs esat lietotājs un nevēlaties iedziļināties sava auto īpatnībās vai tajā, kāda detaļa patiesībā salūza. Jūs faktiski nerūpējas par šīm lietām; jūs vienkārši vēlaties, lai jūsu transportlīdzeklis atgrieztos sākotnējā stāvoklī, neuztraucoties par detaļām. Tātad, jūs faktiski teicāt mehāniķim, ko vēlaties, nošķirot ieviešanas daļu. Tā ir abstrakcija. Jūs koncentrējāties uz vissvarīgāko lietu, kas ir automašīnas labošana, nevis koncentrējaties uz specifiku.



Starpība starp abstrakciju un iekapsulēšanu

Kas ir iekapsulēšana?



Iekapsulēšana ir vēl viena OOP koncepcija, kas datus un funkcijas sasaista vienā komponentā kamēr ierobežojot piekļuvi dažiem komponentiem. Tas ir viens no galvenajiem OOP pamatjēdzieniem, kas datus un informāciju aptver vienā vienībā. In tehnisks termins 'iekapsulēšana' nozīmē atribūtu paslēpšanu, lai pasargātu mainīgos no ārpuses piekļuves, lai izmaiņas lietojumprogrammas vienā daļā neietekmētu citas daļas. Gluži pretēji, padarot informāciju atvērtāku, jūs riskējat nepareizi izmantot datus. Tas nodrošina datu pamata integritāti, aizsargājot tos no ārpasaules. Vienkārši sakot, tas slēpj papildu detaļas no ārpasaules.

Ņemsim piemēru par Bluetooth peli. Jums jāzina tikai par ierīces uzvedību, neuztraucoties par ieviešanas detaļām, piemēram, kāda veida sensoriem ir pele, vai tā ir bezvadu, vai nav utt. Katra detaļa apraksta peli, taču neatkarīgi no tās ir tikai pele. Lai izmantotu peli, jums vienkārši nepieciešama saskarne, kas šajā gadījumā ir peles rādītājs. Tā ir iekapsulēšana.

Starpība starp abstrakciju un iekapsulēšanu

Lai gan abi ir pamatjēdzieni, kas saistīti ar OOP, un tie ir tehniski neatdalāmi, tiem tomēr ir atšķirības daudzos aspektos.

  1. Abstrakcijas un iekapsulēšanas “definīcijas” atšķirības- Abstrakcija ir OOP pamatjēdziens, kas uzsver visus būtiskos objekta aspektus, slēpjot neatbilstošās detaļas, lai palielinātu efektivitāti un novērstu sarežģītību. Iekapsulēšana, no otras puses, ir datu slēpšanas mehānisms, kas datus un informāciju ietin kapsulā, lai ierobežotu piekļuvi no ārpasaules.
  2. Atšķirības “funkcionalitātē” abstrakcijas un iekapsulēšanas- Abstrakcija ir datu slēpšanas mehānisms, kas izceļ tikai būtiskās iezīmes, lai vienkāršotu sarežģītas programmas, savukārt iekapsulēšana, no otras puses, ir metode, kā datus un kodus sasaistīt vienā vienībā. The ideja ir pasargāt ieviešanas detaļas no ārējās piekļuves.
  3. Abstrakcijas un iekapsulēšanas “ieviešanas” atšķirības- Abstrakcija tiek realizēta, izmantojot abstrakts klase un saskarne, savukārt iekapsulēšana tiek realizēta, izmantojot piekļuves modifikatorus. Pieci modifikatoru veidi ir izmantots datu iekapsulēšanai: privāti, publiski, iekšēji, aizsargāti un aizsargāti iekšēji.
  4. Atšķirības “koncepcijā” abstrakcijas un iekapsulēšanas- Abstrakcijas ideja ir koncentrēties uz to, nevis uz kā. Iekapsulēšana slēpj iekšējo mehānismu kā. Piemēram, braucot ar automašīnu, jūs precīzi zināt, ko dara bremžu pedālis, bet jūs, iespējams, nezināt visu aiz tā esošo mehānismu, jo dati ir iekapsulēti.
  5. Abstrakcijas un iekapsulēšanas “piemēra” atšķirības- Ņemsim piemēru viedtālrunim. Jūs zināt, ko tā dara, bet, iespējams, nezināt, kā tā dara to, ko dara. Jums rūp tikai displeja ekrāns un tastatūras pogas, nevis jāuztraucas par tā iekšējo shēmu. Šeit viedtālrunis ir abstrakts, kurā iekapsulētas iekšējās ieviešanas detaļas.

Abstrakcija pret iekapsulēšanu ar salīdzināšanas tabulu

Abstrakcija Iekapsulēšana
Tajā tiek aplūkotas tikai attiecīgās detaļas, slēpjot nesvarīgās detaļas, lai samazinātu sarežģītību, tādējādi palielinot efektivitāti. Tas sasaista datus un informāciju vienā vienībā, lai pasargātu datus no ārējiem avotiem.
Tas attiecas uz ideju slēpt datus, kas nav nepieciešami prezentācijas vajadzībām. Tas slēpj datus un kodu, lai ierobežotu nevēlamu piekļuvi.
Tas koncentrējas uz to, kas, nevis kā. Tas slēpj iekšējo mehāniku, kā tas kaut ko dara.
Tas slēpj nevajadzīgās detaļas dizaina līmenī. Tas arī slēpj detaļas, bet ieviešanas līmenī.
Informācija un dati tiek atdalīti no attiecīgajiem datiem. Informācija ir paslēpta kapsulas iekšpusē, lai to varētu ērti piekļūt.
Tā nodarbojas ar idejām, nevis notikumiem. Ideja ir aizsargāt datus no ārpasaules.
To īsteno, izmantojot abstraktu klasi un saskarni. Tas tiek ieviests, izmantojot aizsargātas, privātas un paketes privātās piekļuves modifikatorus.

Kopsavilkums



Lai gan abi ir OOP jēdzieni, kas saistīti ar datu slēpšanu, tie viens no otra ir diezgan atšķirīgi. Abstrakcija attiecas arī uz slēpšanos, piemēram, iekapsulēšanu, taču, kamēr pirmais slēpj sarežģītību, otrais saglabā iekapsulētos datus, kontrolējot piekļuvi tiem. Abstrakcija attiecas uz jēdzienu pārstāvēt tikai nepieciešamās pazīmes, slēpjot neatbilstošās detaļas, lai samazinātu lietojumprogrammas sarežģītību, tādējādi palielinot efektivitāti. Savukārt iekapsulēšana attiecas uz jēdzienu slēpt visu programmas iekšējo mehāniku, lai pasargātu informāciju no nevēlamas piekļuves. Tas sasaista datus un informāciju vienā komponentā, ierobežojot piekļuvi citiem komponentiem.

Populārākas Posts

Starpība starp pūtītēm un pūtītēm

Pūtītes pret pūtītēm Pūtīte parādās īpaša ādas poru aizsprostojuma dēļ. Tas ir vairāk vai mazāk kā ādas bojājums, kas iegūst noapaļotu bedrainu formu. Sebaceous

Atšķirība starp Jejunum un Ileum

Jejunum vs Ileum Jejunum attiecas uz tievās zarnas daļu, kas noliek tieši blakus divpadsmitpirkstu zarnas, kas ved uz Ileum. Tukšās zarnas iekšējā odere

Atšķirība starp e-grāmatu un ePub



eBook vs ePub Kad e-grāmatas sāka gūt vispārēju atzinību, daudzi uzņēmumi sāka ražot un tirgot paši savus e-grāmatu lasītājus. Problēma ar šo

Vai Otrā pasaules kara bruņotās divīzijas personāls kreisajā vai labajā pusē valkāja aizjūras cepures?

Vēstures kungs, sveiks. Esmu vēsturnieks 12. Armored Division Association, Otrā pasaules kara veterānu, radinieku un citu interesentu apvienībai

Triks, lai piešķirtu smalkiem matiem kādu ķermeni, kuru sapratu L.A.

Kamēr es biju savērpusi matus Serge Normantā Džona Frīda salonā Losandželosā, mana draudzene (un Petras vīramāte) Leslija uzlaboja savus smalkos matus, ko papildināja frizieris Džeisons Lovs. Vai vēlaties uzzināt, kā? Turpiniet lasīt.

Starpība starp Boombox ar USB un Bluetooth

Ja jūs vēl neesat pazīstams ar to, kas ir boombox, jums jāpāršķir vēstures grāmatas lappuses. Vesela paaudze bija lieciniece laikmetam