Abstraksjon i JavaScript | Forklart

Abstraksjon i JavaScript | Forklart
I JavaScript er de fleste elementene basert på "objekter,”Og det bruker”Objektorientert programmering”(Oop) på sine egne måter.

Konseptet av Abstraksjon I JavaScript er å skjule implementeringsdetaljene og fremheve et objekts essensielle funksjoner for brukerne. Det er slik innebygging av abstraksjon i et JavaScript -program kan forbedre kodenes lesbarhet og unngå duplisering. Ved å gi bare viktige detaljer til brukerne, forbedrer det også sikkerheten til en applikasjon.

Vet ikke hvordan jeg skal implementere abstraksjon? Ingen bekymringer! Denne oppskrivningen vil forklare Abstraksjon i JavaScript ved hjelp av passende eksempler. Så la oss starte!

Abstrakte klasser i JavaScript

Hvis en klasse omfatter en eller flere abstrakte metoder, er den kjent som en “Abstrakt klasse”Og denne typen klasse har abstrakte så vel som vanlige JavaScript -metoder. Husk at for å implementere abstraksjon i en klasse, må du erklære på minst en abstrakt metode.

Abstrakte metoder i JavaScript

I en abstrakt klasse er en type metode som bare er erklært og ikke har noen implementering eller "funksjon kropp" er kjent som "Abstrakt metode“. Den abstrakte metoden må erklæres i en abstrakt klasse, mens definisjonen kan legges til i underklasser.

Vi vil nå demonstrere prosedyren for å lage en abstrakt klasse.

Eksempel: Hvordan lage abstrakt klasse i JavaScript

Først av alt vil vi lage en konstruktørfunksjon som heter “Person" har en "Navn”Eiendom. Den skapte “Person”-Funksjonen vil fungere som en“Abstrakt klasse”:

funksjon person ()
dette.name = "Alex";
hvis dette.konstruktør === person)
Kast ny feil ("Feilmeldingen din ...");

;

I neste trinn vil vi definere en "info ()”Metode for“Person”Abstrakt klasse som returnerer verdien av“Navn”Eiendom:

Person.prototype.info = funksjon ()
Returner dette.Navn;

Til slutt vil vi lage en "person”Forekomst av den abstrakte klassen:

var person = ny person ();

Utførelse av den oppgitte koden vil kaste en feil, da vi ikke kan opprette objekter eller forekomster av en abstrakt klasse:

Nå vil vi utvide det ovennevnte eksemplet ved å implementere “Arv”. For dette formålet vil vi lage en annen konstruktørfunksjon som arver metodene og egenskapene til “Person”Abstrakt klasse.

Eksempel: Hvordan utvide abstrakt klasse i JavaScript

I samme eksempel vil vi definere en konstruksjonsfunksjon (underklasse) som heter “Lærer”Som arver egenskapene og metodene til det opprettet”Person”Klasse ved å bruke“Prototypekjetting”:

funksjon person ()
dette.name = "Alex";
hvis dette.konstruktør === person)
Kast ny feil ("Feilmeldingen din ...");

;
Person.prototype.info = funksjon ()
Returner "personnavn er:" + dette.Navn;

funksjonslærer (navn)
dette.Navn = navn;

Lærer.prototype = objekt.Opprett (person.prototype);
var lærer1 = ny lærer ("Stepheny");
konsoll.Logg (lærer1.info ());

I dette tilfellet implementering av "Person”Abstrakt klasse er skjult, og“Lærer”Underklasse kan bare få tilgang til“info () ” metode for å returnere verdien av “Navn”Eiendom:

Vi har prøvd å implementere abstraksjon i tidligere eksempler; Imidlertid er alle egenskapene til en abstrakt klasse ikke helt fornøyde; ettersom vi ikke har definert noen abstrakte metoder ennå.

De ES6 JavaScript -versjonen tilbyr mange forbedrede funksjoner som å lage "Klasse" bruker "klasse”Søkeord og implementering av metoder. Det lar deg også definere abstrakte metoder i en abstrakt klasse og utvide dem i barnet eller underklassene ved hjelp av "Arv”.

I det følgende eksemplet vil vi implementere en JavaScript -abstrakt klasse med de spesifiserte egenskapene.

Eksempel: Hvordan implementere abstraksjon i JavaScript

Ved å bruke “klasse”Nøkkelord, vil vi nå definere“Person”Som en abstrakt klasse, å ha en“konstruktør ()", og en "info ()”Abstrakt metode:

klasseperson
konstruktør ()
hvis dette.konstruktør == person)
Kast ny feil ("Feilmeldingen din ...");


info ()
Kast ny feil ("Lagt til abstrakt metode har ingen implementering");

Deretter vil vi lage en underklasse “Lærer,”Som arver egenskapene og metoden til“Person”Klasse med“Arv”Og definere implementeringen av den abstrakte metoden for foreldreklassen”info ()”I“Lærer”Klasse:

Klasselærer utvider personen
info ()
konsoll.Logg ("Jeg er lærer");


var lærer1 = ny lærer ();
Lærer1.info ();

Som du kan se, implementeringen av “info ()”Metoden utføres vellykket:

Hvis foreldreklassen abstrakt “info ()”Metoden påberopes i“Lærer”Klasse, det vil kaste en feil. For å bekrefte denne saken, legg til følgende kodelinje i definisjonen av barneklassen “info ()”Metode og utfør deretter programmet igjen:

super.info ();

Den gitte utgangen betyr at utføring av den abstrakte metoden i en abstrakt klasse vil kaste en feil:

Vi har samlet all den essensielle informasjonen relatert til abstraksjon i JavaScript.

Konklusjon

Abstraksjon i JavaScript kan implementeres ved hjelp av Abstrakte klasser og Abstrakte metoder. I JavaScript må en abstrakt klasse inneholde minst en eller flere erklærte abstrakte metoder, mens definisjonen kan legges til i underklassene. Abstraksjon i JavaScript skjuler de kompliserte og vanskelig å komprimerte detaljene i det underliggende systemet. Denne oppskrivningen forklarte abstraksjon i JavaScript sammen med passende eksempler.