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

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

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

Video: Atšķirība starp iekapsulēšanu un abstrakciju
Video: Difference between a Website | Web Application | Web portal | Enterprise Application 2024, Jūlijs
Anonim

Ikapsulēšana pret abstrakciju

Ikapsulēšana un abstrakcija ir divi dažādi, bet saistīti jēdzieni, kas atrodami OOP (Object Oriented Programming) valodās. Iekapsulēšana ir jēdziens datu un uzvedības apvienošanai kā viena vienība. No otras puses, abstrakcija ir process, kurā tiek parādīts, kā entītija uzvedas\izskatās, nevis kā tā tiek īstenota.

Kas ir iekapsulēšana?

Ikapsulēšana ir datu iesaiņošanas process un ar tiem saistītās darbības vienā vienībā. Tas būtībā nozīmē, ka, lai piekļūtu datiem, ir jāizmanto noteiktas iepriekš noteiktas metodes. Citiem vārdiem sakot, iekapsulētie dati nav tieši pieejami. Tas nodrošina datu integritātes saglabāšanu, jo lietotājs nevar tieši piekļūt datiem un tos mainīt pēc saviem ieskatiem. Lietotāji iegūs vai iestatīs datu vērtības tikai ar lietotājiem publiski pieejamās metodes. Šīs metodes parasti nodrošina datu validāciju, lai laukos būtu atļauts ievietot tikai datus atbilstošā formātā. Tāpēc iekapsulēšanas priekšrocības ir trīskāršas. Izmantojot iekapsulēšanu, programmētājs var padarīt klases laukus tikai lasāmus vai tikai rakstāmus. Otrkārt, klasei var būt pilnīga kontrole pār to, kas tiek glabāts tās laukos. Visbeidzot, klases lietotājiem nav jāuztraucas par to, kā tiek saglabāti tās dati. Programmā Java programmētājs var deklarēt visus gadījumu mainīgos kā privātus un nodrošināt iegūšanas un iestatīšanas metodes (kas ir publiskas), lai piekļūtu privātajiem laukiem un tos modificētu.

Kas ir abstrakcija?

Abstrakcija ir process, kurā prezentācijas detaļas tiek atdalītas no ieviešanas detaļām. Tas tiek darīts, lai izstrādātājs tiktu atbrīvots no sarežģītākām ieviešanas detaļām. Tā vietā programmētājs var koncentrēties uz entītijas prezentāciju vai uzvedības detaļām. Vienkārši izsakoties, abstrakcija koncentrējas uz to, kā noteiktu entītiju var izmantot, nevis uz to, kā tā tiek īstenota. Abstrakcija būtībā slēpj ieviešanas detaļas, lai pat tad, ja ieviešanas metodika laika gaitā mainās, programmētājam nebūtu jāuztraucas, kā tas ietekmēs viņa programmu. Sistēmu var abstrahēt vairākos slāņos vai līmeņos. Piemēram, zema līmeņa abstrakcijas slāņi atklās aparatūras detaļas, savukārt augsta līmeņa abstrakcijas slāņi atklās tikai entītijas biznesa loģiku. Terminu abstrakcija var izmantot, lai apzīmētu gan entītiju, gan procesu, un tas rada zināmu neskaidrību. Kā process abstrakcija nozīmē būtisku detaļu izgūšanu, vienlaikus ignorējot preces vai vienumu grupas nebūtiskās detaļas, savukārt kā entītija abstrakcija nozīmē entītijas modeli vai skatu ar tikai būtiskām detaļām. Programmā Java programmētājs var izmantot atslēgvārdu abstract, lai deklarētu klasi kā abstraktu entītiju, kas atspoguļo reālās pasaules entītijas būtiskos raksturojošos raksturlielumus.

Kāda ir atšķirība starp iekapsulēšanu un abstrakciju?

Lai gan iekapsulēšana un abstrakcija ir ļoti saistīti jēdzieni, kas atrodami objektorientētās programmēšanas valodās, tiem ir būtiskas atšķirības. Abstrakcija ir tehnika, kas palīdz noteikt, kam jābūt redzamam un kas jāslēpj. Iekapsulēšana ir paņēmieni informācijas iesaiņošanai tā, lai tā padarītu redzamu to, kas būtu redzams, un paslēptu to, kas ir jāslēpj. Citiem vārdiem sakot, iekapsulēšanu var identificēt kā soli tālāk par abstrakciju. Kamēr abstrakcija samazina reālās pasaules objektu līdz tā būtiskām definējošām īpašībām, iekapsulēšana paplašina šo ideju, modelējot un sasaistot šīs entītijas funkcionalitāti.

Ieteicams: