Abstraktsioon vs kapseldamine

Autor: Laura McKinney
Loomise Kuupäev: 8 Aprill 2021
Värskenduse Kuupäev: 1 Mai 2024
Anonim
icd0019 refleksiooni ja oo disaini loeng
Videot: icd0019 refleksiooni ja oo disaini loeng

Sisu

Abstraktsioon on protsess
olulise teabe kogumine, mis loob aluse a
keeruline süsteem. Kapseldamine on keeruka süsteemi väljatöötamise protsess
kergem hallata lõppkasutajat, muretsemata selle sisemise keerukuse pärast.
erinevus abstraktsiooni ja kapseldamise vahel on see
abstraktsioon keskendub oluliste komponentide väljaselgitamisele a
samas kui kapseldamine keskendub süsteemi sisemise keerukuse peitmisele.


Sisu: Erinevus abstraktsiooni ja kapseldamise vahel

  • Võrdlusdiagramm
  • Mis on abstraktsioon?
    • Näide
  • Mis on kapseldamine?
    • Näide
  • Peamised erinevused abstraktsiooni ja kapseldamise vahel
  • Järeldus

Võrdlusdiagramm

Põhiline Abstraktsioon Kapseldamine
Definitsioon Elemendid, mis on vajalikud arendamiseks a
süsteem.
Kapseldamine on keeruka süsteemi väljatöötamise protsess
Saavutus Saavutatakse kapseldamise teel. Saavutatakse a
klass kui privaatne.
Fookused Keskendutakse sellele, mida tuleks teha Keskendutakse sellele, kuidas seda tuleks teha.
Rakendus Kujunduse tasemel. Rakendamise ajal
tasemel.
Näited Mobiiltelefoni GUI, sellel on mõned ikoonid klõpsamiseks, mis siis
klõpsake nuppu konkreetse funktsiooni täitmine.
Kui ikoonil klõpsatakse,
lõppkasutajal pole selle rakenduse üksikasjade osas aimugi

Mis on abstraktsioon?

Abstraktsioon on mehhanism oluliste elementide eraldamiseks
süsteemi loomiseks ilma selle rakendamise üksikasjadeta. Sisse
abstraktsioon, peame keskenduma ainult sellele, mida teha tuleb, mitte sellele, kuidas seda teha
tuleb ära teha. Abstraktsioon on mõtteline protsess, see lahendab kujunduslikud probleemid
tasemel.


Hierarhiline klassifikatsioon aitab meil toime tulla keeruka abstraktsiooniga. See võimaldab meil jagada keeruka süsteemi hallatavateks tükkideks ja genereerida kihilise semantika. Lisaks on see üldistus.

Näide

Võtame hea näite autost, see on loodud paljudest allsüsteemidest, nagu mootor, pidurid, valgustus, helisüsteem, tool ja palju muud. Pidurit, mis on jalgratta alamsüsteem, võib täiendavalt liigitada esirattapiduri ja tagarattapidurina, kuid üldiselt näeme kogu alamsüsteemi pidurina. Niisiis, me peame keerulist süsteemi haldama hierarhilise klassifikatsiooni abil, mis aitab meil välja selgitada, millised on süsteemi väljatöötamiseks vajalikud elemendid.

Niisiis, abstraktsioon ainult üldistab, mis elemendid on
süsteemi loomiseks hädavajalik, st oluliste õiglaseks korjamine.

Mis on kapseldamine?

Kapseldamine on objektorienteeritud programmeerimise oluline omadus. See on mehhanism, mis
seob koodi ja andmed kokku ning hoiab neid välise eest kaitstuna
sekkumine. See tähendab, et kapseldamine varjab süsteemi keerukust,
kuna märksõnaks on siin andmete peitmine. See sarnaneb kaitsvaga
ümbris, mis peidab klassi kuuluvaid koode ja andmeid ning mille on omandanud
teine ​​kood, mis on määratletud väljaspool klassi ja liikme funktsiooni / meetodit
mis pole klassi liikmed.


Kui kood ja andmed, mis töötavad
nendel andmetel on klassis lingitud, siis luuakse selle klassi objektid.
Juurdepääsu üksuse elementidele piirab täpselt määratletud liides
tuntud kui juurdepääsu spetsifikaator. Juurdepääsu on kolm
spetsifikatsioonid Java ja C ++ korral avalik, privaatne, turvaline.

Kapseldamine saavutatakse eriti koodi valmistamise teel
ja andmetel töötavad andmed privaatsetena. Klassi privaatsed liikmed ei pääse määratletud koodist juurde
klassist väljaspool. See aitab ära hoida andmete kuritarvitamist, samas varjab ka keerukust
koodist.

Näide

Võtame näiteks mobiiltelefoni. Mobiiltelefonis, sina
suudab täita paljusid funktsioone, näiteks pildi klõpsamist, video / heli salvestamist,
ingliskeelne juurdepääs, veebi juurde pääsemine ja palju muud. Te peate neid
mobiiltelefoni omadused. Kuid lõpptarbija ei pea seda tegema
mõistma nende funktsioonide sisemist keerukust enne nende kasutamist
programme, samuti ei pea te ühegi funktsiooni funktsionaalsust muutma.

Niisiis varjab kapseldamine keerukust ja
vältida andmete väärkasutamist.

Peamised erinevused abstraktsiooni ja kapseldamise vahel

  1. Abstraktsioon keskendub komponentidele, mida on vaja
    luua süsteem, samas kui kapseldamine keskendub süsteemi keerukuse peitmisele
    süsteem.
  2. Abstraktsioon toimub süsteemi projekteerimistasemel ja
    kapseldamine toimub siis, kui süsteemil on
    rakendatud.
  3. Abstraktsioonide peamine motiiv on see, mida tuleb ehitamiseks teha
    Kapseldamise peamine motiiv on süsteem, kuidas seda tuleks süsteemi loomiseks teha.
  4. Abstraktsioon saavutatakse
    kapseldamine, samas kui kapseldamine saavutatakse elementide valmistamise teel
    süsteem privaatne.

Järeldus

Abstraktsioon ja kapseldamine
mõlemad on OOP oluline omadus. Suurepärane kapseldamine võib saavutada fantastilise abstraktsiooni.