Ereditarietà in JavaScript
L’ereditarietà è un concetto importante nella programmazione orientata agli oggetti. Nell’ereditarietà classica, i metodi della classe base vengono copiati nella classe derivata.
In JavaScript, l’ereditarietà è supportata dall’uso dell’oggetto prototipo. Alcune persone la chiamano “Prototypal Inheriatance” e altre la chiamano “Behaviour Delegation”.
Vediamo come possiamo ottenere funzionalità simili all’ereditarietà in JavaScript usando l’oggetto prototipo.
Iniziamo con la classe Person che include la proprietà FirstName & LastName come mostrato sotto.
Nell’esempio precedente, abbiamo definito la classe Person (funzione) con le proprietà FirstName & LastName e abbiamo anche aggiunto il metodo getFullName al suo oggetto prototipo.
Ora, vogliamo creare la classe Student che eredita dalla classe Person in modo da non dover ridefinire FirstName, LastName e il metodo getFullName() nella classe Student. Quello che segue è una classe Student che eredita la classe Person.
Notate che abbiamo impostato Student.prototype all’oggetto Persona appena creato. La parola chiave new crea un oggetto della classe Person e assegna anche Person.prototype all’oggetto prototipo del nuovo oggetto e poi finalmente assegna l’oggetto appena creato all’oggetto Student.prototype. Opzionalmente, si può anche assegnare Person.prototype all’oggetto Student.prototype.
Ora, possiamo creare un oggetto Student che usa proprietà e metodi di Person come mostrato qui sotto.
Così possiamo implementare l’ereditarietà in JavaScript.