Rekomenduojama, 2020

Redaktoriaus Pasirinkimas

Skirtumas tarp abstrakcijos ir duomenų slėpimo

Abstrakcija ir duomenų slepimas yra esminės objekto programavimo sąvokos. Abstrakcija - tai svarbių savybių išraiškos būdas, nesusijęs su fonine informacija. Kita vertus, duomenų slėpimas izoliuoja duomenis iš tiesioginės prieigos prie programos. Nors abi sąvokos atrodo panašios, bet skirtingos. Abstrakcija suteikia galimybę sukurti vartotojo nustatytus duomenų tipus, skirtus kurti realaus pasaulio objektus, turinčius tas pačias savybes. Dėl duomenų slėpimo apsaugo duomenis ir funkcijas nuo neleistinos prieigos.

Palyginimo diagrama

Palyginimo pagrindasAbstrakcijaDuomenys slepiasi
Pagrindinis
Ištraukia tik atitinkamą informaciją ir ignoruoja esminius duomenis.Slepia duomenis iš programos dalių.
TikslasNorėdami paslėpti sudėtingumą.Norėdami pasiekti kapsulę.
Klasė
Klasė naudoja abstrakciją, kad gautų naują vartotojo apibrėžtą duomenų tipą.Duomenų slėpimas naudojamas klasėje, kad jo duomenys būtų privatūs.
Fokusuoja
Stebimas duomenų elgesys.Apriboti arba leisti naudoti duomenis kapsulėje.

Abstrakcijos apibrėžimas

Abstrakcija visų pirma naudojama paslėpti sudėtingumą. Jis nurodo būtinas objekto charakteristikas, kurios jį skiria nuo visų kitų objektų tipų. Abstrakcija sutelkta į objekto išorinį aspektą. Objektui abstrakcija suteikia esminį elgesį nuo jo įgyvendinimo. Ji apibrėžia konceptualią ribą, palyginti su žiūrovo perspektyva. Tinkama abstrakcija pabrėžia detales, kurios yra svarbios skaitytojui ar vartotojui ir slopina savybes, kurios yra nesvarbios ir nuošalios.

Naudotojo apibrėžti duomenų tipai sukuriami apibrėžiant abstrakčius atributus ir funkcijas klasėje, kuriant realaus pasaulio objektus, turinčius panašių savybių. Šie atributai yra žinomi kaip duomenų nariai, nes juose yra informacija. Panašiai funkcijos, veikiančios šiais duomenimis, yra žinomos kaip narių funkcijos. Duomenų abstrakcija įgyvendinama kaip klasė, atspindinti esmines savybes, neįtraukiant fono paaiškinimų.

Abstrakcijos tipai:

  • Procedūrinė abstrakcija - jame yra nurodymų, turinčių nurodytas funkcijas, serijos.
  • Duomenų abstrakcija - tai duomenų rinkinys, nurodantis ir apibūdinantis duomenų objektą.
  • Kontrolės abstrakcija - tai programos valdymo mechanizmas, kuriame interjero detalės nenurodytos.

Duomenų slepimo apibrėžimas

Duomenų paslėpimas reiškia, kad paslėpti duomenys iš programos komponentų, kurių nereikia gauti. Duomenų atskyrimas nuo tiesioginės prieigos prie programos vadinamas duomenų slėpimu arba slepiama informacija. Duomenų slėpimui įgyvendinti yra naudojamas kapsuliavimas, kai klasės duomenys ir funkcija yra apsaugoti nuo neteisėtos prieigos. Priešingai, kai duomenys ir funkcija yra įterpti į vieną vienetą, jis vadinamas kapsulėmis. Todėl duomenys, slepiantys, padeda pasiekti kapsulę. Objekto funkcines detales galima tvarkyti per prieigos specifiką.

Naudojant duomenų slėpimo koncepcijas, duomenys ir funkcija klasėje yra privataus pobūdžio, kad jiems nebūtų prieinama klaidingai pagal klasę nepriklausančių funkcijų ir apsaugotų nuo atsitiktinio pakeitimo.

Pagrindiniai skirtumai tarp abstrakcijos ir duomenų slėpimo

  1. Abstrakcija rodo atitinkamą informaciją ir atmeta neesmines detales. Kita vertus, duomenų slėpimas naudojamas paslėpti duomenis iš programos dalių.
  2. Ankstesnis abstrakcijos tikslas yra paslėpti sudėtingą programos ar programinės įrangos įgyvendinimo detalę. Atvirkščiai, duomenų slepimas yra įgyvendinamas, kad būtų pasiektas kapsuliavimas.
  3. Abstrakcija klasėje naudojama kuriant naują vartotojo apibrėžtą duomenų tipą. Kaip ir prieš, duomenų slaptumas naudojamas duomenims privatizuoti.
  4. Abstrakcija sutelkta į stebimą duomenų elgesį, o duomenų slėpimas riboja arba leidžia naudoti duomenis kapsulėje.

Išvada

Tiek abstrakcija, tiek paslėpta informacija buvo skirta tik reikiamos informacijos rodymui ir būtinų duomenų paslėpimui, tačiau tam tikram tikslui. Abstrakcija pabrėžia, kad slepiant įgyvendinimo sudėtingumą, o duomenyse, slepiančiuose, dėmesys skiriamas duomenų apsaugai nuo neteisėtos prieigos.

Top