Forskel mellem abstraktion og indkapsling Forskel mellem
skal du implementere virkelige objekter i programmer og koder. Mens begge går hånd i hånd, er de meget forskellige fra hinanden. Mens hver metode er en indkapsling, er det også en abstraktion. Enkelt sagt, når du sætter forskellige ting sammen for at skabe en enhed, skaber du rent faktisk et koncept - et abstrakt. Mens begge er teknisk uadskillelige, har de bogstaveligt talt ingenting til fælles. Det er næsten sandt, at hver indkapsling er en abstraktion, fordi de begge gemmer noget, men de har deres retfærdige andel af forskelle.
Hvad er Abstraktion?
Abstraktion er et grundlæggende OOP-koncept, der fokuserer på bare de relevante data i et objekt og gemmer alle de irrelevante detaljer, som måske eller måske ikke er for generisk eller specialiseret adfærd. Det gemmer baggrundsoplysningerne og understreger de væsentlige punkter for at reducere kompleksiteten og øge effektiviteten. Grundlæggende er abstraktion et programmeringsværktøj til styring af kompleksitet. Abstraktion fokuserer på ideer frem for begivenheder. Det gemmer detaljerne på designniveauet ved at give brugerne funktionalitet. Det resulterende objekt kan også kaldes en abstraktion. Programmøren sørger for, at den navngivne enhed har alle de væsentlige aspekter, der er inkluderet, og ingen af de irrelevante.
Lad os tage et virkeligt eksempel på abstraktion. Lad os overveje sagen om et køretøj, som i dette tilfælde er dit køretøj. En mekaniker forsøger at reparere din bil eller lad os sige en bestemt del af din bil. Her er du brugeren, og du ønsker ikke at komme ind i specifikationerne på din bil eller hvilken del faktisk brød. Du er faktisk ikke interesseret i disse ting; du vil bare have din bil tilbage i sin oprindelige tilstand uden at bekymre dig om detaljerne. Så, du har faktisk fortalt mekanikeren hvad du vil ved at adskille implementeringsdelen. Dette er abstraktion. Du fokuserede på den mest afgørende ting, som får din bil fast, snarere end at fokusere på specifikationerne.
Hvad er indkapsling?
Indkapsling er endnu et OOP-koncept, der binder data og funktioner til en enkelt komponent, mens der begrænses adgang til nogle komponenter. Det er et af de vigtigste grundlæggende begreber i OOP, som ombryder data og information under en enkelt enhed. I tekniske termer betyder indkapsling at skjule attributter for at beskytte variabler fra udefrakommende adgang, således at ændring i en del af en applikation ikke vil påvirke de andre dele. Tværtimod risikerer du misbrug af data ved at gøre oplysningerne mere åbne. Det giver grundlæggende integritet til dataene ved at beskytte den fra omverdenen. Enkelt sagt skjuler den de ekstra detaljer fra omverdenen.
Lad os tage et eksempel på en Bluetooth-mus.Du behøver kun at vide om enhedens adfærd uden at bekymre sig om implementeringsdetaljerne, ligesom hvad slags sensorer musen har, det er trådløst eller ej osv. Hver eneste detalje beskriver musen, men uanset detaljerne er det bare en mus. Du skal bare bruge en grænseflade til at bruge musen, som i dette tilfælde er musemarkøren. Dette er indkapsling.
Forskel mellem abstraktion og indkapsling
Mens begge er grundlæggende begreber relateret til OOP, og de er teknisk uadskillelige, har de stadig forskelle i mange aspekter.
- Forskelle i "Definition" af Abstraktion og Indkapsling - Abstraktion er et grundlæggende OOP-koncept, som fremhæver alle de væsentlige aspekter ved et objekt ved at skjule de irrelevante detaljer for at øge effektiviteten og eliminere kompleksiteten. Indkapsling er derimod en data-skjule mekanisme, der ombryder data og information i en kapsel for at begrænse adgang fra omverdenen.
- Forskelle i "Funktionalitet" af Abstraktion og Indkapsling - Abstraktion er en data skjule mekanisme, der fremhæver kun de væsentlige funktioner for at gøre komplekse programmer enklere, mens indkapsling på den anden side er en bindingsmetode data og koder til en enkelt enhed. Ideen er at beskytte implementeringsdetaljerne fra ekstern adgang.
- Forskelle i "Implementering" af Abstraktion og Indkapsling - Abstraktion implementeres ved hjælp af abstrakt klasse og interface, mens indkapsling implementeres ved hjælp af adgangsmodifikatorer. Fem typer modifikatorer bruges til at indkapsle data: Privat, Offentlig, Intern, Beskyttet og Beskyttet Intern.
- Forskelle i "Koncept" af Abstraktion og Indkapsling - Ideen bag abstraktion er at fokusere på hvad snarere end hvordan. Indkapsling skjuler den interne mekanik af hvordan. For eksempel, når du kører bil, ved du præcis hvad bremsepedalen gør, men du kender måske ikke hele mekanismen bagved det, fordi dataene er indkapslet.
- Forskelle i "Eksempel" for Abstraktion og Indkapsling - Lad os tage et eksempel på en smartphone. Du ved hvad det gør, men du ved måske ikke, hvordan det gør hvad det gør. Du er kun bekymret for skærmbilledet og tastaturknapperne i stedet for at bekymre dig om dets indre kredsløb. Her er smartphone en abstrakt, hvor de indvendige implementeringsdetaljer er indkapslet.
Abstraktion vs Indkapsling med sammenligningstabellen
Abstraktion | Indkapsling |
Den omhandler kun de relevante detaljer ved at gemme de irrelevante for at reducere kompleksiteten og dermed øge effektiviteten. | Det binder data og oplysninger sammen i en enkelt enhed for at beskytte dataene fra eksterne kilder. |
Det refererer til ideen om at gemme data, der ikke er nødvendigt til præsentationsformål. | Det gemmer data og kode for at begrænse uønsket adgang. |
Det fokuserer på hvad snarere end hvordan. | Det skjuler den interne mekanik, hvordan den gør noget. |
Det skjuler de unødvendige detaljer på designniveauet. | Det skjuler også detaljerne, men på implementeringsniveauet. |
Oplysninger og data er adskilt fra de relevante data. | Oplysninger er gemt inde i en kapsel for tæt adgang. |
Det handler om ideer frem for begivenheder. | Tanken er at beskytte data fra omverdenen. |
Det implementeres ved hjælp af abstrakt klasse og interface. | Det implementeres ved hjælp af beskyttede, private og pakke-private adgangsmodifikatorer. |
Sammenfatning
Mens begge er OOP-begreber relateret til data gemmer, er de ret forskellige fra hinanden. Abstraktion vedrører også at gemme sig som indkapsling, men medens den tidligere gemmer kompleksitet, holder sidstnævnte de data, som den indkapsler ved at kontrollere adgangen til dem. Abstraktion refererer til begrebet at repræsentere kun de nødvendige funktioner ved at skjule de irrelevante detaljer for at reducere kompleksiteten af en applikation og dermed øge effektiviteten. Indkapsling henviser derimod til begrebet at skjule alle interne mekanik i et program for at beskytte informationen fra uønsket adgang. Det binder data og oplysninger sammen i en enkelt komponent ved at begrænse adgangen til andre komponenter.