JavaScript/Oggetti: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pietrodn (discussione | contributi)
m typo
Ramac (discussione | contributi)
sistemo
Riga 6:
== Cosa sono gli oggetti ==
Per avvicinarci al concetto di oggetto in informatica, possiamo pensare al concetto di oggetto nel mondo reale.<br/>
Per creare un nuovo oggetto è necessario partire da un modello (in informaticaJavaScript unaun oggetto chiamato '''[[w:classe (informatica)|classe]]prototipo''') che indichi come creare ognialtri oggettooggetti didello quellastesso tipologiatipo (ogni oggetto è un<nowiki>'</nowiki>'''[[w:istanza|istanza]]''' della suddettadel classeprototipo).
<br/>Per fare un esempio concreto, ciascun oggetto macchina viene costruita in base a dei progetti che ne definiscono la struttura.
 
Gli oggetti possono inoltre possedere delle caratteristiche ('''proprietà'''): nel caso dellaad nostraesempio di macchina (per fare un paragone con la realtà), saranno la cilindrata, le dimensioni, il costo, ecc...).
 
Ciascuna istanza espone inoltre la possibilità di effettuare delle operazione su di essi ('''metodi'''): per la nostra macchina, metterla in moto o guidare. Queste operazioni modificheranno delle caratteristiche come il livello del suo carburante o la velocità.
Line 16 ⟶ 15:
 
== Gli oggetti in JavaScript ==
JavaScript permette di creare lei propriepropri classi[[JavaScript/Costruttori e personalizzateprototipi|oggetti personalizzati]]; tuttavia noi lavoreremo solo su quellequelli predefinitepredefiniti.<br/>Per creare un nuovo oggetto è necessario associarlo ad una variabile usando la sintassi:
 
Per creare una nuova istanza di un oggetto è necessario utilizzare una funzione chiamata '''costruttore'''. Di fatto, in realtà, per definire un oggetto prototipo è quindi sufficiente creare un nuovo costruttore.
 
La sintassi quindi:
<source lang=javascript>
var nome_oggettovariabile = new nome_classenome_oggetto ();
</source>
In questo modo la variabile <code>nome_oggettovariabile</code> sarà l'unico modo per fare riferimento all'istanza di <code>nome_classenome_oggetto</code> appena creata.
 
LeI classicostruttori possonosolitamente per la creazione dell'oggetto prevedereprevedono anche l'usouna facoltativoserie di unparametri '''costruttore''',per cioè un metodo che impostaimpostare automaticamente alcune proprietà dell'oggetto. La sintassi in questo caso ècreato:
<source lang=javascript>
var nome_oggettovariabile = new nome_classenome_oggetto (parametri_del_costrutture);
</source>
 
Line 31 ⟶ 34:
var la_mia_macchina = new macchina ("Utilitaria", "Rosso");
</source>
OvviamenteNell'esempio, lail classecostruttore dell'oggetto macchina conterrà un costruttore che prevedeprevederà come parametri il tipo e il colore della macchina.
 
=== Proprietà ===
Possiamo pensare ad una proprietà come ad una variabile associata al singolo oggetto; il suo valore viene attribuito inizialmente dal costruttore (se viene usato) e successivamente viene modificato agendo sull'oggetto (operando sui metodi, ecc...). Per fare riferimento alla proprietà (per il recupero o per l'assegnazione) si usa la sintassi:
<source lang=javascript>
nome_oggetto.nome_proprietà
Line 47 ⟶ 50:
 
=== Metodi ===
Un metodo è una funzione associata al singolo oggetto e definitadefinito nellanel sua classecostruttore; se nella classe di unnel oggettoprototipo è prevista una funzione <code>metodo_esempio</code> sarà possibile eseguire la funzione tramite la sintassi:
<source lang=javascript>
nome_oggetto.metodo_esempio () //ricordarsi le parentesi anche se non passiamo parametri!