Tecnologia Orientata agli Oggetti ECMAScript
- Pagina precedente Chiudi (closure)
- Pagina successiva Applicazione degli oggetti
Terminologia orientata agli oggetti
Oggetto
ECMA-262 definisce l'oggetto come “una raccolta disordinata di attributi, ciascuno dei quali contiene un valore primitivo, un oggetto o una funzione”. In termini rigorosi, questo significa che l'oggetto è un array di valori senza ordine.
Nonostante ECMAScript sia così definito, la sua definizione più generica è basata sulla rappresentazione di nomi nominali basati sul codice (persone, luoghi o cose)
Classe
Ogni oggetto è definito da una classe, e possiamo considerare la classe come una ricetta per l'oggetto. La classe deve non solo definire l'interfaccia dell'oggetto (le proprietà e i metodi che gli sviluppatori possono accedere), ma anche definire il lavoro interno dell'oggetto (il codice che fa funzionare le proprietà e i metodi). I compilatori e gli interpreti costruiscono gli oggetti in base alla descrizione della classe.
Istanza
Quando un programma crea un oggetto utilizzando una classe, l'oggetto generato viene chiamato istanza della classe. L'unica limitazione unica del numero di oggetti generati dalla classe è la memoria fisica del computer su cui il codice viene eseguito. Ogni istanza ha lo stesso comportamento, ma gestisce un insieme di dati indipendenti. Il processo di creazione di oggetti istanza dalla classe viene chiamato instanziazione.
Nelle sezioni precedenti abbiamo menzionato che ECMAScript non ha una classe formale. Invece, ECMA-262 definisce l'oggetto come una ricetta per l'oggetto. Questo è una soluzione di compromesso logica per ECMAScript, perché la definizione dell'oggetto è in realtà l'oggetto stesso. Anche se le classi non esistono veramente, chiamiamo la definizione dell'oggetto classe perché la maggior parte degli sviluppatori è più familiare con questo termine e, funzionalmente, sono equivalenti.
Requisiti del linguaggio orientato agli oggetti
Un linguaggio orientato agli oggetti deve fornire al توسعهttore quattro capacità di base:
- Encapsulation - La capacità di memorizzare informazioni correlate (che siano dati o metodi) all'interno dell'oggetto
- Aggregazione - La capacità di memorizzare un oggetto all'interno di un altro oggetto
- Ereditarietà - La capacità di ottenere attributi e metodi da un'altra classe (o più classi)
- Polimorfismo - La capacità di scrivere funzioni o metodi che possono eseguire in vari modi
ECMAScript supporta questi requisiti, quindi può essere considerato orientato agli oggetti.
Costituzione degli oggetti
In ECMAScript, gli oggetti sono costituiti da attributi (attributo), che possono essere valori primitivi o valori di riferimento. Se l'attributo contiene una funzione, viene considerato un metodo dell'oggetto, altrimenti l'attributo viene considerato una proprietà dell'oggetto.
- Pagina precedente Chiudi (closure)
- Pagina successiva Applicazione degli oggetti