DEFINIRE UNA CLASSE E IL SUO COSTRUTTORE
Una constructor function normalmente riceve in input dei parametri. La keyword this fa in modo che gli oggetti creati dalla constructor function abbiano una copia di quelle proprietà, proprietà aventi come valori i valori passati in input. Vediamo con un esempio di codice le differenze tra una constructor function e una classe.
Creare un oggetto da una constructor function o creare una istanza da una classe con le medesime proprietà da i medesimi risultati. La differenza è che le proprietà di una classe devono essere inizializzate in un metodo speciale chiamato constructor.
I METODI
All’interno di una classe non possiamo definire variabili con let, var o const come si fa per le constructor function. I metodi definiti in una classe vengono inseriti nell’oggetto prototype della classe.
PROPRIETA’ PUBBLICHE E PRIVATE
avatar definita nel codice sotto riportato è una proprietà pubblica accessibile attraverso gli oggetti. Da ES2019 possiamo definire proprietà private accessibili solo internamente alla classe.
METODI GETTER E SETTER
Un metodo getter restituisce un valore, un metodo setter imposta il valore di una proprietà. Gli oggetti della classe si interfacciano ai metodi getter e setter come se fossero proprietà.
METODI STATICI E PROPRIETA’ STATICHE
In alcuni casi potremmo voler accedere a un metodo di una classe senza istanziarla. Possiamo farlo con i metodi statici. Un metodo statico non può accedere a metodi non statici mentre vale il viceversa.
ESTENDERE UNA CLASSE
Utilizzando la keyword extends possiamo ereditare proprietà e metodi da una classe chiamata superclasse in un’altra chiamata solitamente sottoclasse o classe derivata.
RELAZIONI TRA SUPERCLASSI E SOTTOCLASSI
Utlizzando instanceof possiamo capira la gerarchia tra superclassi e sottoclasssi e i loro prototype.
Scrivi un commento