Abstrakcija proti enkapsulaciji
Vsebina
- Vsebina: Razlika med abstrakcijo in enkapsulacijo
- Primerjalna tabela
- Kaj je abstrakcija?
- Primer
- Kaj je kapsulacija?
- Primer
- Ključne razlike med abstrakcijo in enkapsulacijo
- Zaključek
Abstrakcija je proces
zbiranje pomembnih informacij, ki bodo osnova za gradnjo a
zapleten sistem. Inkapsulacija je proces razvoja kompleksnega sistema
lažje upravljate končnega uporabnika, ne da bi skrbeli za njegove notranje zapletenosti. The
Razlika med abstrakcijo in kapsulacijo je v tem
abstrakcija se osredotoča na prepoznavanje bistvenih sestavnih delov zgradbe
sistem, medtem ko se kapsulacija osredotoča na skrivanje notranjih zapletenosti sistema.
Vsebina: Razlika med abstrakcijo in enkapsulacijo
- Primerjalna tabela
- Kaj je abstrakcija?
- Primer
- Kaj je kapsulacija?
- Primer
- Ključne razlike med abstrakcijo in enkapsulacijo
- Zaključek
Primerjalna tabela
Osnovni | Abstrakcija | Kapsulacija |
Opredelitev | Elementi, ki so potrebni za razvoj sistem. | Inkapsulacija je postopek razvoja zapletenega sistema |
Dosežek | Doseženo z enkapsulacijo. | Doseženo z oblikovanjem članov a razred kot zasebni. |
Fokusi | Poudarek je na tem, kaj je treba storiti | Poudarek je na tem, kako je treba to storiti. |
Uporaba | Med načrtovanjem. | Med izvajanjem stopnjo. |
Primeri | GUI mobilnega telefona, vsebuje nekaj ikon, ki jih lahko kliknete kliknite izvedite določeno funkcijo. | Ko kliknete ikono, končni uporabnik nima pojma o podrobnostih njegove izvedbe |
Kaj je abstrakcija?
Abstrakcija je mehanizem pridobivanja ključnih elementov
za oblikovanje sistema brez podrobnosti o njegovem izvajanju. V
abstrakcije, osredotočiti se moramo samo na to, kaj je treba storiti, ne pa na to, kako to storiti
je treba storiti. Abstrakcija je miselni proces, ki rešuje težave pri snovanju
stopnjo.
Hierarhična klasifikacija nam pomaga obvladovati kompleksno abstrakcijo. Omogoča nam razčlenitev zapletenega sistema na obvladljive koščke in ustvarjanje večplastne semantike. Nadalje gre za posplošitev.
Primer
Vzemimo dober primer avtomobila, ustvarjen je iz številnih podsistemov, kot so motor, zavore, razsvetljava, avdio sistem, stol in še marsikaj drugega. 'Zavora', ki je podsistem kolesa, lahko nadalje uvrščamo med zavore na sprednji kolesi in zadnjo kolo, na splošno pa vsi podsistem vidimo kot zavore. Torej moramo s kompleksnim sistemom upravljati s hierarhično klasifikacijo, ki nam pomaga ugotoviti, kateri so ključni elementi, ki bodo potrebni za razvoj sistema.
Torej, abstrakcija samo posplošuje, kateri elementi so
bistvenega pomena za izdelavo sistema, tj. samo izbiranje pomembnih.
Kaj je kapsulacija?
Inkapsulacija je pomembna značilnost objektno usmerjenega programiranja. To je mehanizem, ki
veže kodo in podatke ter jih ščiti pred zunanjimi
interferenca. To pomeni, da kapsulacija skriva kompleksnost sistema,
saj tukaj ključna beseda skriva podatke. Podobno je z zaščitno
ovoj, ki skriva kodo in podatke znotraj razreda, ki jih pridobi
druga koda, ki je definirana zunaj razreda in funkcije / metode člana
ki niso člani razreda.
Koda in podatki, ki delujejo
na teh podatkih so povezani v razredu, nato se ustvarijo predmeti tega razreda.
Dostop do elementov predmeta je omejen z dobro opredeljenim vmesnikom
znan kot specifikator dostopa. Obstajajo trije dostopi
specifikatorji v Javi in C ++ Javni, zasebni, varni.
Zapenjanje se zlasti doseže z izdelavo kode
in podatki, ki delujejo na podatke, kot zasebni. Zasebni člani razreda ne morejo dostopati do definirane kode
zunaj razreda. Pomaga pri preprečevanju zlorabe podatkov, medtem ko skriva tudi zapletenost
kode.
Primer
Vzemimo primer mobilnega telefona. V mobilnem telefonu
lahko izvaja številne funkcije, kot so klikanje slike, snemanje videoposnetka / zvoka,
ing a, dostop do spleta in še veliko več. Te štejete za
značilnosti mobitela. Toda končnemu uporabniku tega ni treba
razumete notranjo zapletenost teh lastnosti, preden jih uporabite
programov, niti vam ni treba spreminjati funkcionalnosti katere koli funkcije.
Tako na ta način kapsulacija skriva kompleksnost in
prepreči zlorabo podatkov.
Ključne razlike med abstrakcijo in enkapsulacijo
- Abstrakcija se osredotoča na sestavne dele, ki jih potrebujete
zgraditi sistem, medtem ko se kapsulacija osredotoča na skrivanje kompleksnosti
sistem. - Abstrakcija se izvede med nivojem zasnove sistema in
inkapsulacija se opravi, ko ima sistem
izvedli. - Glavni motiv abstrakcij je, kaj je treba narediti, da bi gradili
sistem, medtem ko je glavni motiv enkapsulacij, kako je treba narediti, da zgradimo sistem. - Odvzem dosežemo s
ker se enkapsulacija doseže z izdelavo elementov
sistem zaseben.
Zaključek
Abstrakcija in kapsulacija
oboje je pomembno za OOP. Velika kapsulacija lahko doseže fantastično abstrakcijo.