Skillnaden Mellan Inkapsling Och Abstraktion

Skillnaden Mellan Inkapsling Och Abstraktion
Skillnaden Mellan Inkapsling Och Abstraktion

Video: Skillnaden Mellan Inkapsling Och Abstraktion

Video: Skillnaden Mellan Inkapsling Och Abstraktion
Video: Tips å Trix: Vad är AKVARELL, VATTENFÄRG, GOUACHE, AKRYL? Vad är skillnaden? 2024, April
Anonim

Inkapsling vs abstraktion

Inkapsling och abstraktion är två olika men relaterade begrepp som finns på OOP-språk (Object Oriented Programming). Inkapsling är begreppet att kombinera data och beteende tillsammans som en enda enhet. Å andra sidan är abstraktion processen att presentera hur en enhet beter sig / ser ut i motsats till hur den implementeras.

Vad är inkapsling?

Inkapsling är processen för att lägga in data och drift som fungerar på dem till en enda enhet. Detta innebär i huvudsak att vissa fördefinierade metoder bör användas för att komma åt data. Med andra ord är inkapslad data inte direkt tillgänglig. Detta säkerställer att dataintegriteten bevaras eftersom användaren inte kan direkt komma åt och ändra informationen som han / hon vill. Användarna får eller ställer in datavärdena endast genom de metoder som är offentligt tillgängliga för användarna. Dessa metoder ger vanligtvis datavalidering så att endast data i lämpligt format får införas i fälten. Därför är fördelarna med inkapsling tredubblade. Genom inkapsling kan programmeraren göra fält i en klass skrivskyddad eller bara skriva. För det andra,en klass kan ha total kontroll över vad som lagras i sina fält. Slutligen behöver inte användare av en klass oroa sig för hur dess data lagras. I Java kan programmeraren förklara att alla instansvariabler är privata och tillhandahålla get and set-metoder (som är offentliga) för att komma åt och ändra de privata fälten.

Vad är abstraktion?

Abstraktion är processen att separera presentationsdetaljerna från implementeringsdetaljerna. Detta görs så att utvecklaren befrias från de mer komplexa implementeringsdetaljerna. Istället kan programmeraren fokusera på presentationen eller beteendedetaljerna för enheten. Enkelt uttryckt fokuserar abstraktion på hur en viss enhet kan användas snarare än hur den implementeras. Abstraktion döljer i huvudsak implementeringsdetaljerna, så att även om implementeringsmetoden ändras över tid, skulle programmeraren inte behöva oroa sig för hur det skulle påverka hans program. Ett system kan abstraheras i flera lager eller nivåer. Till exempel kommer abstraktionsskikt på låg nivå att avslöja hårdvaruinformation, medan abstraktion på hög nivå bara avslöjar enhetens affärslogik. Uttrycket abstraktion kan användas för att hänvisa till både en enhet och en process och detta leder till viss förvirring. Som en process betyder abstraktion att extrahera väsentliga detaljer medan man ignorerar de oväsentliga detaljerna i ett objekt eller en grupp objekt, medan som en enhet betyder abstraktion en modell eller en vy av en enhet med endast de väsentliga detaljerna. I Java kan programmeraren använda nyckelordet abstrakt för att förklara en klass som en abstrakt enhet, vilket representerar de väsentliga definierande egenskaperna hos en verklig världsenhet.programmeraren kan använda nyckelordet abstrakt för att förklara en klass som en abstrakt enhet, vilket representerar de väsentliga definierande egenskaperna hos en verklig världsenhet.programmeraren kan använda nyckelordet abstrakt för att förklara en klass som en abstrakt enhet, vilket representerar de väsentliga definierande egenskaperna hos en verklig världsenhet.

Vad är skillnaden mellan inkapsling och abstraktion?

Även om inkapsling och abstraktion är mycket relaterade begrepp som finns i objektorienterade programmeringsspråk, har de viktiga skillnader. Abstraktion är en teknik som hjälper oss att identifiera vad som ska vara synligt och vad som ska döljas. Inkapsling är teknikerna för att förpacka informationen så att den synliggör det som ska vara synligt och döljer det som ska döljas. Med andra ord kan inkapsling identifieras som ett steg bortom abstraktion. Medan abstraktion minskar ett verkligt världsobjekt till dess väsentliga definierande egenskaper, utökar inkapsling denna idé genom att modellera och länka denna enhets funktionalitet.

Rekommenderas: