Questo meccanismo simula molto bene le caratteristiche dei linguaggi OOP, e permette di creare delle gerarchie di oggetti anche molto complesse.
Vediamo un esempio:
// superclasse
var Car = new Class({
initialize: function(marca, targa) {
this.marca = marca;
this.targa = targa;
},
setMarca: function(marca) {
this.marca = marca
},
setTarga: function(targa) {
this.targa = targa
},
setCilindrata: function(cilindrata) {
this.cilindrata = cilindrata;
}
});
// classe che eredita "SuperCar extends Car"
var SuperCar = Car.extend({
initialize: function(marca, targa) {
this.marca = marca;
this.targa = targa;
this.cilindrata = 4000;
}
});
var supercar = new SuperCar('Ferrari', 'numeroTarga');
// utilizzo dei metodi ereditati da Car
supercar.setCilindrata(4500);
La Class Car, è un costruttore generico che contiene tutti i metodi "di costruzione" per un oggetto di tipo Car o che eredita da Car, mentre l'oggetto SuperCar è una sua sottodivisione, per macchine con cilindrata pari a 4000.
L'utilità di questo meccanismo gerarchico è evidente: possono esistere molti altri sottotipi del costruttore Car, ad esempio Utilitaria, MonoVolume, Suv, ecc, ma se per ognuno avessimo dovuto creare gli stessi metodi, oltre che a un dispendio di memoria considerevole, avremmo ottenuto un codice davvero difficile da mantenere.
Nel nostro caso, se dobbiamo cambiare il compito svolto dal metodo setMarca, basta modificare il metodo nel suo costruttore generico Car, in modo che la modifica sia visibile in tutti i costruttori che ereditano, invece che modificarlo in tutti i sottocostruttori.
Credo che da tutto ciò si sia intuito come Extend sia un metodo indispensabile nell'utilizzo del framework MooTools.
Per la parte di base e teorica ci siamo, e questa panoramica era comunque necessaria. Nei prossimi appuntamenti vedremo come creare e gestire effetti passando così a un po' di pratica.
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 jQuery UICreare siti ricchi e dinamici con jQuery UI, il progetto ufficiale... |
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 |