Abstrakcija ir kapsuliacija

Autorius: Laura McKinney
Kūrybos Data: 8 Balandis 2021
Atnaujinimo Data: 1 Gegužė 2024
Anonim
OOP interview questions :- What is the difference between Abstraction and Encapsulation ?
Video.: OOP interview questions :- What is the difference between Abstraction and Encapsulation ?

Turinys

Abstrakcija yra procesas
rinkti svarbią informaciją, kuria remiantis bus galima kurti
sudėtinga sistema. Inkapsuliacija yra sudėtingos sistemos kūrimo procesas
lengviau valdyti galutinį vartotoją, nesijaudinant dėl ​​jo vidinio sudėtingumo.
skirtumas tarp abstrakcijos ir kapsuliavimo yra tas
abstrakcija yra skirta nustatyti pagrindinius komponentus kuriant a
sistema, o kapsuliacija yra skirta slėpti vidinius sistemos sudėtingumus.


Turinys: skirtumas tarp abstrakcijos ir kapsulės

  • Palyginimo diagrama
  • Kas yra abstrakcija?
    • Pavyzdys
  • Kas yra kapsulė?
    • Pavyzdys
  • Pagrindiniai abstrakcijos ir kapsulės skirtumai
  • Išvada

Palyginimo diagrama

Pagrindinis Abstrakcija Inkapsuliacija
Apibrėžimas Elementai, kuriuos reikia kurti a
sistema.
Inkapsuliacija yra sudėtingos sistemos kūrimo procesas
Pasiekimas Pasiekiama per kapsulę. Pasiekta padarius narius a
klasė kaip privati.
Dėmesys Dėmesys skiriamas tam, ką reikėtų padaryti Didžiausias dėmesys skiriamas tam, kaip tai turėtų būti daroma.
Taikymas Projektavimo metu. Įgyvendinimo metu
lygis.
Pavyzdžiai Mobiliojo telefono vartotojo sąsaja, joje yra keletas piktogramų, kurias spustelėti
spustelėkite atlikti konkrečią funkciją.
Kai spustelėjama piktograma,
galutinis vartotojas neturi supratimo apie jo įgyvendinimo detales

Kas yra abstrakcija?

Abstrakcija yra svarbiausių elementų išgavimo mechanizmas
sistemos sukūrimui, be jos įgyvendinimo detalių. Į
abstrakcija, turime sutelkti dėmesį tik į tai, ką reikia padaryti, o ne į tai, kaip tai padaryti
reikia padaryti. Abstrakcija yra minties procesas, jis išsprendžia dizaino problemas
lygis.


Hierarchinė klasifikacija padeda mums susidoroti su sudėtinga abstrakcija. Tai leidžia mums suskaidyti sudėtingą sistemą į valdomus elementus ir sugeneruoti sluoksniuotą semantiką. Be to, tai yra apibendrinimas.

Pavyzdys

Paimkime gerą automobilio pavyzdį, jis yra sukurtas iš daugelio posistemių, tokių kaip variklis, stabdžiai, apšvietimas, garso sistema, kėdė ir dar daugiau. „Stabdys“, kuris yra dviračio posistemis, gali būti toliau klasifikuojamas kaip priekinio rato stabdis ir galinio rato stabdis, tačiau paprastai mes matome, kad visas posistemis yra stabdžiai. Taigi, mes turime valdyti sudėtingą sistemą pagal hierarchinę klasifikaciją, kuri mums padeda išsiaiškinti, kokie yra esminiai elementai, kurių reikės kuriant sistemą.

Taigi abstrakcija tik apibendrina, kas yra elementai
būtinas kuriant sistemą, t.y teisingai pasiimant svarbius.

Kas yra kapsulė?

Inkapsuliacija yra svarbi objektyvaus programavimo ypatybė. Tai yra mechanizmas, kuris
susieja kodą ir duomenis kartu ir saugo juos nuo išorės
trukdžiai. T. y., Kapsuliavimas slepia sistemos sudėtingumą,
nes raktinis žodis čia yra duomenų slėpimas. Tai panašu į apsauginį
įvyniotojas, kuris slepia kodą ir duomenis klasėje, kurį gauna
kitas kodas, kuris yra apibrėžtas už klasės ribų, ir nario funkcija / metodas
kurie nėra klasės nariai.


Kai veikia kodas ir duomenys
pagal tuos duomenis yra susieti klasėje, tada sukuriami šios klasės objektai.
Prieigą prie elemento elementų riboja tiksliai apibrėžta sąsaja
žinomas kaip prieigos specifikatorius. Yra trys prieigos
„Java“ ir „C ++“ specifikatoriai: viešas, privatus, saugus.

Inkapsuliacija ypač pasiekiama sudarius kodą
ir duomenis, veikiančius su duomenimis, kaip privačius. Privatūs klasės nariai negali naudotis nurodytu kodu
už klasės ribų. Tai padeda užkirsti kelią piktnaudžiavimui duomenimis, tuo pačiu slepia ir sudėtingumą
kodo.

Pavyzdys

Paimkime mobiliojo telefono pavyzdį. Mobiliajame telefone, tu
gali atlikti daugybę funkcijų, tokių kaip nuotraukos spustelėjimas, vaizdo / garso įrašymas,
prisijungti, pasiekti internetą ir dar daugiau. Jūs manote, kad tai
mobiliojo telefono charakteristikos. Bet galutiniam vartotojui to nereikia
prieš naudodamiesi, supraskite vidinį šių funkcijų sudėtingumą
programų, taip pat nereikia keisti jokios funkcijos funkcijos.

Taigi tokiu būdu kapsulė slepia sudėtingumą ir
užkirsti kelią netinkamam duomenų naudojimui.

Pagrindiniai abstrakcijos ir kapsulės skirtumai

  1. Abstrakcija orientuojama į komponentus, kurių reikia
    sukonstruoti sistemą, o kapsulė daugiausia dėmesio skiria sistemos sudėtingumo slėpimui
    sistema.
  2. Abstrakcija atliekama projektuojant sistemos lygį ir
    inkapsuliacija atliekama, kai sistema turi
    buvo įgyvendinta.
  3. Abstrakcijų pagrindinis motyvas yra tai, ką reikia daryti norint kurti
    sistema, o Enkapsuliacijų pagrindinis motyvas yra, kaip tai turėtų būti padaryta kuriant sistemą.
  4. Abstrakcija pasiekiama
    inkapsuliacija, tuo tarpu inkapsuliacija pasiekiama iš
    sistema privati.

Išvada

Abstrakcija ir kapsuliacija
abu yra svarbi OOP savybė. Puiki kapsulė gali pasiekti fantastišką abstrakciją.