Abstraktion og indkapsling er begge grundlæggende begreber med objektorienteret programmering (OOP), der tillader, at objekter i den virkelige verden integreres i programmer og koder. Når de to mødes, er de meget forskellige fra hinanden. Selvom hver metode er indkapslet, er den abstrakt. Kort sagt, når du kombinerer forskellige ting for at skabe et individ, skaber du faktisk konceptet - det abstrakte. Selvom begge er teknisk adskilte, er de bogstaveligt talt ikke-eksisterende. Det er næsten rigtigt, at hver indkapsling er abstrakt, fordi de skjuler begge dele, men forskellene er ens.

Hvad er konklusionen?

Abstraktion er et nøglekoncept for OOP, der kun fokuserer på objektspecifik information og skjuler alle uvæsentlige oplysninger, der måske eller måske ikke er generelle eller specialiserede. Det skjuler detaljer og understreger vigtige aspekter for at reducere kompleksiteten og øge effektiviteten. Grundlæggende er abstraktion et software-værktøj til styring af kompleksitet. Abstraktion fokuserer på ideer, ikke begivenheder. Det skjuler data på designniveau ved at give brugerne funktionalitet. Det resulterende objekt kan også kaldes abstrakt. Programmereren sørger for, at det navngivne objekt indeholder alle det væsentlige, og at det ikke er trivielt.

Tag et eksempel på reel abstraktion. I dette tilfælde skal du overveje tilstanden på det køretøj, der er dit køretøj. Mekanikeren vil prøve at rette din bil, eller lad os sige en bestemt del af din bil. Her er du brugeren, og du vil ikke have adgang til funktionerne på din maskine, eller hvilken del af den der faktisk er ødelagt. Du er ikke ligeglad med de ting; Du vil bare have din bil tilbage til sin oprindelige tilstand uden at bekymre dig om detaljerne. Så du har faktisk fortalt mekanikeren, hvad du vil gøre ved at isolere opfyldelsesdelen. Dette er abstrakt. Du fokuserede på den vigtigste ting at løse din bil, ikke dine funktioner.

Forskel mellem abstraktion og indkapsling

Hvad er indkapsling?

Indkapsling er et andet OOP-koncept, der kombinerer data og funktioner i en del og begrænser adgangen til bestemte dele. Det er et af de grundlæggende begreber i OOP, der kombinerer data og information i en enhed. Fra et teknisk synspunkt involverer indkapsling skjult attributter, der beskytter attributterne mod ekstern adgang, så ændringer i den ene del af programmet ikke påvirker de andre komponenter. Tværtimod, ved at gøre dataene mere gennemsigtige risikerer du misbrug. Det giver grundlæggende integritet ved at beskytte data fra omverdenen. Kort sagt skjuler det yderligere detaljer fra omverdenen.

Tag eksemplet med en Bluetooth-mus. Du skal bare vide, hvilken slags mus sensoren er, uanset om den er trådløs eller ikke, såsom hvordan enheden fungerer, uden at bekymre dig om detaljerne i implementeringen. Hver detalje kendetegner musen, men på trods af detaljerne er det kun musen. Du behøver kun grænsefladen for at bruge musen, i dette tilfælde musemarkøren. Det er en kapsel.

Forskel mellem abstraktion og indkapsling

Selvom begge er grundlæggende koncepter relateret til OOP, og de er teknisk sammenflettet, har de mange forskelle.

  1. Abstraktion og indkapsling "Definition" -forskelle - Abstraktion er et nøglekoncept for OOP, og det understreger alle vigtige aspekter ved et objekt ved at skjule ubetydelige detaljer for at øge effektiviteten og eliminere kompleksiteten. På sin side er indkapsling en mekanisme til at skjule information og placere information og data i en kapsel for at begrænse adgangen til omverdenen. Forskelle i "funktionalitet" af abstraktion og indkapsling - abstraktion er en mekanisme til at skjule information, der kun understreger de væsentlige funktioner til at forenkle komplekse applikationer, og på den anden side en måde at knytte data og koder til et enkelt objekt. Tanken er at beskytte implementeringsdetaljerne mod ekstern adgang. Forskelle mellem abstraktion og indkapsling - abstraktion udføres ved hjælp af en abstrakt klasse og interface og indkapsling med input modifiers. Fem forskellige modifikatorer bruges til at indkapsle data: Privat, offentligt, internt, beskyttet og beskyttet internt. Forskellene inden for "begrebet" abstraktion og indkapsling er det, der fokuserer på, hvad der ikke er ideen om abstraktion. Indkapslingen skjuler sin interne mekanik. For eksempel, når du kører i en bil, ved du nøjagtigt, hvad bremsepedalen laver, men du ved muligvis ikke dens mekanisme fuldstændigt, fordi dataene er kantret. Differentiering af "abstraktion" og "indkapsling" - Lad os tage en smartphone som et eksempel. Du ved hvad han laver, men du ved muligvis ikke, hvordan han gør det. Ikke kun er du interesseret i dets interne kredsløb, du er også interesseret i skærmdisplayet og tastaturetasterne. Her er smartphonen abstrakt, og den dækker detaljerne i den interne implementering.

Sammenligningstabel og abstrakt

konklusion

Selvom begge to er OOP-koncepter relateret til skjult data, er de meget forskellige fra hinanden. Abstraktionen gælder også for skjul, såsom indkapsling, men førstnævnte skjuler kompleksiteten, mens den anden kontrollerer adgangen til den og gemmer de oplysninger, den indeholder. Abstraktion er begrebet kun at vise de nødvendige funktioner ved at skjule ubetydelige detaljer for at reducere en applikations kompleksitet. På sin side betyder indkapsling begrebet at skjule al den interne mekanik i programmet for at beskytte data mod uønsket adgang. Det begrænser adgangen til andre komponenter og kombinerer data og data til en komponent.

REFERENCER

  • Buyya. Objektorienteret programmering med Java: Grundlæggende og applikationer. NYC: Tata McGraw-Hill Education, 2009. Udskriv
  • McConnell, Steve. Kode afsluttet (2. udgave). London: Pearson Education, 2004. Udskriv
  • Michelsen, Klaus. C # Primer Plus. Indianapolis: Sams Publishing, 2002. Udskriv
  • "Billedkredit: https://stackoverflow.com/questions/742341/difference-between-abstraction-and-encapsulation"