Tipi di eredità in JavaScript

Tipi di eredità in JavaScript
In JavaScript, Eredità è un meccanismo che consente a un oggetto di ereditare tutti i metodi e le proprietà del suo genitore o dell'oggetto base. È anche considerato un componente cruciale di OOP (programmazione orientata agli oggetti).

L'idea alla base dell'implementazione dell'eredità in JavaScript è quella di aggiungere nuovi oggetti che derivano da oggetti esistenti. Quando l'oggetto appena creato diventa un bambino o un oggetto derivato di una classe genitore, può ereditare tutti i suoi metodi e proprietà.

Questo articolo discuterà tipi Di Eredità In JavaScript. Quindi iniziamo!

Tipi di eredità in JavaScript

JavaScript supporta i seguenti tipi di eredità:

  • Eredità prototipica
  • Eredità pseudoclassica
  • Ereditarietà funzionale

Discuteremo ciascuno dei tipi di eredità menzionati nelle sezioni seguenti.

Eredità prototipica in JavaScript

"Prototipo Eredità"Consente di accedere alle proprietà e ai metodi di un oggetto genitore. In questo tipo di eredità, un oggetto appena creato è autorizzato a ereditare le proprietà e il metodo di un oggetto esistente. Tipicamente, "Oggetto.getProtoTypeof ()" E "Oggetto.setProtoTypeof ()"Può essere utilizzato per ottenere e impostare il prototipo di un oggetto; Tuttavia, ES6 standardizza il "__proto__"Proprietà degli accessori che può essere utilizzata per lo scopo simile.

Sintassi di eredità prototipica in JavaScript

ChildObject.__Proto__ = ParentObject

Qui "ChildObject"Rappresenta l'oggetto appena creato che eredita le proprietà e i metodi di"ParentObject".

Esempio: come implementare l'ereditarietà prototipica in JavaScript

Prima di tutto, creeremo due oggetti chiamati "Bicicletta" E "Veleno"E aggiungi un"colore"Proprietà per il"Bicicletta”Oggetto e un"nome"Proprietà per il"Veleno"Oggetto:

let bike =
colore blu",
;
Let Venom =
Nome: "Venom",
;

Usando "__proto__"Proprietà del"Veleno"Oggetto, erediteremo le proprietà del"Bicicletta"Oggetto:

Veleno.__proto__ = bici;

Infine, mostreremo il "Proprio"(Venom.nome) e "ereditato"(Venom.colore) valori di proprietà di “Veleno"Oggetto:

console.Log ("This Is A" + Venom.Color + "" + Venom.nome);

Eredità pseudoclassica in JavaScript

L'idea di implementare il "Pseudoclassico Eredità" è creare un "ereditato"Funzione che aiuta ad associare la classe figlio alla classe genitore.

A tale scopo, l'eredità pseudoclassica utilizza:

  • UN "costruttore()" funzione
  • "nuovo"Operatore per la creazione di istanze
  • UN "prototipo"Proprietà che stabilisce la catena di eredità ed è assegnata alla funzione del costruttore in modo che tutte le istanze ereditano la proprietà specificata.

Ora, dai un'occhiata all'esempio di seguito per comprendere chiaramente l'eredità pseudoclassica.

Esempio: come implementare l'eredità pseudoclassica in JavaScript

Definiremo una funzione costruttore denominata "Bicicletta()":

funzione bike ()
Questo.name = 'Bike';

Successivamente, creeremo un "informazioni()"Funzione che sarà ereditata dagli oggetti figlio di"Bicicletta":

Bicicletta.prototipo.info = function ()
console.log ('questo è un' + questo.nome );
;

Nel nostro programma dichiareremo un altro oggetto chiamato "Veleno,"E utilizza il"Bicicletta.chiamata()"Metodo per invocare il costruttore di bici ():

funzione venom ()
Bicicletta.Chiama (questo);
Questo.name = 'Venom';

Quindi, useremo il “prototipo"Proprietà per implementare l'eredità pseudoclassica tra"VelenoOggetto e "Bicicletta"Oggetto:

Veleno.prototipo = oggetto.Crea (bici.prototipo);
Veleno.prototipo.costruttore = bici;

Nell'ultimo passaggio, il "nuovo"L'operatore è utilizzato per la creazione delle due istanze"veleno" E "bicicletta“:

var venom = new Venom ();
var bike = new Bike ();

Dopo averlo fatto, il "informazioni()" La funzione è invocata per entrambe le istanze:

veleno.informazioni();
bicicletta.informazioni();

Come puoi vedere dall'output di seguito, viene implementata l'eredità pseudoclassica e l'istanza "veleno"Ereditato ed eseguito il"informazioni()"Funzione correttamente:

Ereditarietà funzionale in JavaScript

Il meccanismo delle proprietà ereditarie applicando un funzione di aumento (La funzione con funzionalità generica) a un'istanza dell'oggetto è nota come "Ereditarietà funzionale". La funzione di aumento definita impiega l'estensione dell'oggetto dinamico per aggiungere ulteriori proprietà e metodi a un'istanza dell'oggetto. Puoi anche usare il suo "Ambito di chiusura"Per mantenere privati ​​alcuni dati.

Esempio: come implementare l'eredità funzionale in JavaScript

In questo esempio, creeremo un "Bicicletta"Oggetto con un oggetto interiore chiamato"X":

function bike (data)
var x = ;
X.nome = dati.nome;
restituire x;

Quindi, creeremo un oggetto figlio chiamato "Veleno"Che stabilisce l'eredità con il"Bicicletta" classe. Questo oggetto figlio comprenderà una funzione di aumento "informazioni"Che può avere l'accesso al"nome"Proprietà del"X"Oggetto:

function venom (dati)
var x = bici (dati);
X.info = function ()
restituire "questo è un" + x.nome + "bici";
;
restituire x;

Per implementare l'eredità funzionale, creeremo "veleno"Come istanza di un bambino e passa il valore del"nome"Proprietà come"dati" discussione:

var venom = Venom (nome: "Venom");

Il dato "console.tronco d'albero()"Metodo prenderà il valore del"X.nome"Proprietà dal genitore"Bicicletta"Oggetto e stampalo sulla console:

console.Registro (Venom.informazioni());

Produzione

Questo riguardava i tipi di eredità in JavaScript. Puoi esplorarli ulteriormente in base alle tue preferenze.

Conclusione

Prototipo Eredità, eredità pseudoclassica e Funzionale L'eredità è diversa tipi Di Eredità In JavaScript. Un tipo prototipo di eredità viene implementato usando il "__proto__"Proprietà, mentre, nell'eredità funzionale, un aumento La funzione è definita che accede alle proprietà della classe genitore. Inoltre, il Pseudoclassico L'eredità utilizza un costruttore() funzione, "nuovo"Operatore e prototipo Proprietà per incorporare l'eredità tra due oggetti. Questo articolo ha discusso di diversi tipi di eredità in JavaScript.