Astrazione in javascript | Spiegato

Astrazione in javascript | Spiegato
In JavaScript, la maggior parte degli elementi si basano su "oggetti,"E utilizza"Programmazione orientata agli oggetti"(Oop) a modo suo.

Il concetto di Astrazione In JavaScript è nascondere i dettagli dell'implementazione ed evidenziare le caratteristiche essenziali di un oggetto agli utenti. Ecco come l'incorporamento dell'astrazione in un programma JavaScript può migliorare la leggibilità del codice ed evitare la duplicazione. Fornendo solo dettagli importanti agli utenti, migliora anche la sicurezza di un'applicazione.

Non so come implementare l'astrazione? Nessun problema! Questo articolo spiegherà Astrazione In JavaScript con l'aiuto di esempi adatti. Quindi iniziamo!

Classi astratte in JavaScript

Se una classe comprende uno o più metodi astratti, è noto come "Classe astratta"E questo tipo di classe ha metodi JavaScript astratti e regolari. Ricorda, per implementare l'astrazione in una classe, devi dichiarare a almeno un metodo astratto.

Metodi astratti in JavaScript

In una classe astratta, un tipo di metodo che viene dichiarato solo e non ha implementazione o "corpo funzione" è conosciuto come "Metodo astratto". Il metodo astratto deve essere dichiarato in una classe astratta, mentre la sua definizione può essere aggiunta sotto-class.

Dimostreremo ora la procedura per la creazione di una classe astratta.

Esempio: come creare una classe astratta in JavaScript

Prima di tutto, creeremo una funzione di costruttore denominata "Persona" avere un "nome" proprietà. Il creato "PersonaLa funzione "fungerà da"Classe astratta":

funzione di funzione ()
Questo.name = "Alex";
se questo.costructor === persona)
lancia un nuovo errore ("Il tuo messaggio di errore ...");

;

Nel prossimo passaggio, definiremo un "informazioni()Metodo "per il"Persona"Classe astratta che restituisce il valore di"nome" proprietà:

Persona.prototipo.info = function ()
Restituisci questo.nome;

Infine, creeremo un "persona"Istanza della classe astratta:

var persona = nuovo persona ();

L'esecuzione del codice fornito lancerà un errore in quanto non possiamo creare oggetti o istanze di una classe astratta:

Ora estenderemo l'esempio di cui sopra implementando il "Eredità". A tale scopo, creeremo un'altra funzione di costruttore che eredita i metodi e le proprietà del "Persona"Classe astratta.

Esempio: come estendere la classe astratta in JavaScript

Nello stesso esempio, definiremo una funzione di costruzione (sottoclasse) denominata "Insegnante"Ciò eredita le proprietà e i metodi creati"Persona"Classe utilizzando il"Prototipo concatenamento":

funzione di funzione ()
Questo.name = "Alex";
se questo.costructor === persona)
lancia un nuovo errore ("Il tuo messaggio di errore ...");

;
Persona.prototipo.info = function ()
restituire "il nome della persona è:" + questo.nome;

Function Teacher (name)
Questo.nome = nome;

Insegnante.prototipo = oggetto.Crea (persona.prototipo);
var insegnante1 = new insegnante ("Stepheny");
console.registro (insegnante1.informazioni());

In questo caso, l'implementazione del "Persona"La classe astratta è nascosta e il"Insegnante"La sottoclasse può solo accedere al"informazioni()" metodo per restituire il valore di "nome" proprietà:

Abbiamo cercato di implementare l'astrazione negli esempi precedenti; Tuttavia, tutte le proprietà di una classe astratta non sono completamente soddisfatte; come non abbiamo ancora definito alcun metodo astratto.

IL Es6 La versione JavaScript offre molte funzionalità migliorate come la creazione di "Classe" usando il "classe"Parole chiave e metodi di implementazione. Ti consente inoltre di definire metodi astratti all'interno di una classe astratta ed estenderli nel bambino o nelle sottoclassi con l'aiuto di "Eredità".

Nell'esempio seguente, implementeremo una classe astratta JavaScript con le proprietà specificate.

Esempio: come implementare l'astrazione in JavaScript

Utilizzando il "classe"Parola chiave, ora definiremo"Persona"Come classe astratta, avendo un"costruttore()", e un "informazioni()"Metodo astratto:

persona di classe
costructor ()
se questo.costructor == persona)
lancia un nuovo errore ("Il tuo messaggio di errore ...");


informazioni()
lanciare un nuovo errore ("Il metodo astratto aggiunto non ha implementazione");

Successivamente, creeremo una sottoclasse "Insegnante,"Che eredita le proprietà e il metodo del"Persona"Classe usando"Eredità"E definisce l'implementazione del metodo astratto della classe genitore"informazioni()" nel "Insegnante" classe:

L'insegnante di classe estende la persona
informazioni()
console.log ("Sono un insegnante");


var insegnante1 = new insegnante ();
insegnante1.informazioni();

Come puoi vedere, l'implementazione del "informazioni()"Il metodo viene eseguito correttamente:

Se l'abstract della classe genitore "informazioni()"Il metodo è invocato in"Insegnante"Classe, lancerà un errore. Per verificare questo caso, aggiungere la seguente riga di codice nella definizione della classe figlio "informazioni()"Metodo e poi eseguire nuovamente il programma:

super.informazioni();

L'output dato indica che l'esecuzione del metodo astratto di una classe astratta lancerà un errore:

Abbiamo compilato tutte le informazioni essenziali relative all'astrazione in JavaScript.

Conclusione

Astrazione In JavaScript può essere implementato con l'aiuto di Classi astratti E Metodi astratti. In JavaScript, una classe astratta deve contenere almeno uno o più metodi astratti dichiarati, mentre la sua definizione può essere aggiunta nelle sue sottoclassi. L'astrazione in JavaScript nasconde i dettagli complicati e difficili da comprendere del sistema sottostante. Questo articolo ha spiegato l'astrazione in JavaScript insieme ad esempi adeguati.