JavaScript presenta una programmazione ad oggetti basata sui prototipi. Questo concetto si differenzia un po' dai principali programmi orientati a questo tipo di programmazione com Java o C++.
Il suo funzionamento è semplice. Ciascuna classe presenta al suo interno una proprietà, chiamata appunto prototype, che presenta un 'meta oggetto'. Qualsiasi oggetto facente capo a questa classe sarà istanziato esattamente come una copia di questo prototipo. Modificando questa meta classe sarà possibile influenzare direttamente tutti i precedenti oggetti creati a partire da questa classe.
Passiamo subito ad una dimostrazione pratica:
<script type="text/javascript">
function init() {
var oggetto = function() {
this.name = "alberto";
}
var a = new oggetto();
oggetto.prototype.lastname = "bottarini";
var b = new oggetto();
alert("DATI DI A:\n"+a.name+"\n"+a.lastname);
alert("DATI DI B:\n"+b.name+"\n"+b.lastname);
}
window.onload = init;
</script>
Innanzitutto creiamo la classe oggetto definendo solo il costruttore che imposta la proprietà name. Successivamente instanziamo un oggetto (a) e modifichiamo l'oggetto prototype aggiungendo una nuova proprietà: lastname. Per ultimo instanziamo un secondo oggetto (b) e stampiamo i parametri.
Nonostante possa sembrare strano, anche l'oggetto a presenta una proprietà lastname proprio perché entrambi gli oggetti fanno capo a questo prototipo definito nella proprietà prototype della classe oggetto.
Questa è una notevole comodità del linguaggio: è infatti possibile realizzare delle vere e proprie classi dinamiche che possono essere modificate internamente anche a runtime.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |