Keskeinen ero: Abstraktio ja kapselointi ovat tietojenkäsittelytieteen ohjelmointikäsitteitä. Abstraktio on prosessi, jossa tietojen ylimääräiset ominaisuudet poistetaan tai erotetaan datasta; kapselointi on mekanismi, jossa data on piilotettu ja yhdistetty menetelmiin.
Abstraktio on yleistetty prosessi, jossa ylimääräiset tiedot otetaan pois ja poistetaan, jotta datasta saadaan konkreettinen. Tietokoneissa se on ohjelmointimenetelmä, joka auttaa muuntamaan tiedot tiiviin muotoon. Tietoja ja ohjelmaa ei muuteta tässä menetelmässä, vaan ne säilytetään samassa alkuperäisessä muodossa; Ainoa ero on se, että ne pienennetään pienempään muotoon. Abstraktio pyrkii vähentämään ja laskemaan yksityiskohtia siten, että ohjelmoija voi keskittyä muutamaan käsitteeseen kerrallaan.
Järjestelmässä voi olla monia tällaisia abstraktiokerroksia, joilla on erilaiset merkitykset ja yksityiskohdat. Esimerkiksi matalan tason abstraktiokerrokset paljastavat tietokoneen tietokonelaitteiston yksityiskohdat, kun taas korkean tason kerrokset käsittelevät ohjelman liiketoimintalogiikkaa. Nämä yksityiskohdat altistetaan ohjelmoijalle silloin, kun ne suoritetaan. Abstraktio on käsite tai idea, jota ei ole liitetty mihinkään tiettyyn esimerkkiin. Se kerää vain ne tiedot niistä tiedoista, jotka koskevat sen kohteita ja nykyisiä näkökulmia. Sillä on tärkeä rooli esineiden perheessä (Object-Oriented-Programming). ja sitä käytetään eri tavoin ja toteutuksissa.
Abstraktin käsite voidaan toteuttaa:
- Control Abstraction: Se on toimien abstraktio.
- Data Abstraction: Se sallii ja käsittelee tietobitit ja tietorakenteet mielekkäillä tavoilla.
Tietokoneohjelmoinnin kapselointi korostaa sen toimintoja kahteen eri merkintään, jotka ovat:
- Kielimekanismi, joka rajoittaa pääsyä joidenkin objektien osiin.
- Kielirakenne, joka helpottaa tietojen yhdistämistä niihin liittyvillä menetelmillä (ja muilla toiminnoilla).
Kapselointi on piilomekanismit, joilla on keskeinen rooli tietojen suojaamisessa ulkopuolisilta. Se tarjoaa tosiasiallisesti tietojen perustavuuden estämällä todellisten tietojen väärinkäytön. Kapseloinnissa data tallennetaan ja sitä käytetään alkuperäisessä voimassa olevassa ja yhdenmukaisessa muodossa.
Yleensä kapselointi tarkoittaa objektin säilyttämistä käyttäjältä ja sen esittämistä yleisessä muodossa. Pohjimmiltaan kapseloinnissa ylimääräiset yksityiskohdat piilotetaan ulkopuolelta. Esineiden kentät tarkastetaan ja käsitellään suoraan tässä mekanismissa. Sisustuksen ohella piilotetut tiedot kootaan versioksi, jota käytetään edelleen lähdekoodina ja joka on liitetty otsikkotiedoston kautta. Joskus julkiset luokat yrittävät käyttää tietoja, näissä tapauksissa kapselointi ei salli julkisten hyökkääjien pelaamista tietojen kanssa. Yksi kapseloinnin suurimmista eduista on se, että se auttaa vähentämään ohjelman monimutkaisuutta ja auttaa käyttäjiä ymmärtämään ohjelman tarkat käsitteet, koska mekanismit edustavat vain ohjelman suppeaa muotoa. Tämä lisää kestävyyttä, koska kehittäjä tai ohjelmoija voi rajoittaa ohjelmistokomponenttien välisiä riippuvuuksia. Kapselointi on sovellettavissa myös joissakin kielissä, kuten Smalltalk ja Ruby, joissa pääsy on sallittua vain objektimenetelmien avulla; kun taas useimmat muut, kuten C ++, C # tai Java, tarjoavat ohjelmoijalle jonkin verran valvontaa. Nämä kielet mahdollistavat kehittäjien pääsyn piilotetuille avainsanoille, kuten julkisille ja yksityisille.
Abstraktio ja kapselointi ovat myös OOP: n (Object-Oriented-Programming) tärkeimmät perusteet.
Abstraktion ja kapseloinnin vertailu:
Abstraktio | kapselointi | |
Lyhyt kuvaus | Abstraktio on prosessi, joka poimii olennaiset yksityiskohdat kohteesta tai kohteiden ryhmästä ja jättää huomiotta olennaiset yksityiskohdat. | Kapselointi on prosessi, joka käärii tai sulkee kapselin tiedot tai tekee tiedot tiivistetyksi. |
He ovat | Abstraktio liittyy ajatukseen piilottaa tietoja, joita ei tarvita esitykseen. | Kapselointi ryhmittelee yhteen tiedot ja toiminnot. |
Perustoiminnot | Pohjimmiltaan abstraktiota käytetään ei-toivottujen tietojen piilottamiseen ja se antaa tarvittavat tiedot. | Pohjimmiltaan kapselointi tarkoittaa koodin ja datan piilottamista yhdeksi yksiköksi tietojen suojaamiseksi ulkomaailmalta. |
Milloin niitä käytetään | Se toimii ongelmana suunnittelun tasolla. | Se toimii ongelmana täytäntöönpanotasolla. |
Hyödyllinen rooleille | Se auttaa käyttäjää keskittymään siihen, mitä kohde tekee sen sijaan, miten se toimii. | Se auttaa ohjelmoijaa piilottamaan sisäiset yksityiskohdat tai mekaniikat siitä, miten esine tekee jotain. |
Tiedot ovat | Täällä tiedot erotetaan todellisista tiedoista. | Täällä tiedot pakataan piilotettuun muotoon. |
ulkoasuja | Se koskee ulkoasua, jota käytetään muotoilussa. | Se koskee sisäistä ulkoasua, jota käytetään toteutuksessa. |
Esimerkiksi | Matkapuhelimen ulkonäkö, jossa on näyttö ja näppäimistön painikkeet numeron valitsemiseksi. | Matkapuhelimen sisäinen toteutus, miten näppäimistön painike ja näyttöruutu kytketään toisiinsa piirien avulla. |