28.05.2013 Views

javascript by example

javascript by example

javascript by example

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 1<br />

Linguaggio<br />

Il fatto che in Javascript non ci siano le classi non significa affatto<br />

che non possiamo implementare l'ereditarietà, un modo classico<br />

è il seguente :<br />

//oggetto di base<br />

function Veicolo (marca,tipologia){<br />

}<br />

this.marca = marca ||'sconosciuta';<br />

this.tipologia = tipologia || 'sconosciuta';<br />

//oggetto derivato<br />

function Auto (marca,targa){<br />

}<br />

this.base = Veicolo; // richiama modello di base<br />

this.base(marca,'Automobile');<br />

this.targa = targa;<br />

Auto.prototype = new Veicolo; // associa il prototipo<br />

//oggetto derivato a sua volta da Auto<br />

function Fiat (targa){<br />

}<br />

this.base = Auto;<br />

this.base('Fiat',targa);<br />

Fiat.prototype = new Auto; // associa il prototipo<br />

//a questo punto se instanziamo Fiat con il parametro targa:<br />

var a= new Fiat('CC893LJ');<br />

//possiamo avere :<br />

document.write(a.marca ); //'Fiat'<br />

document.write(a.tipologia); //'Automobile'<br />

document.write(a.targa); //'CC893LJ'<br />

38 Implementare l'ereditarietà<br />

multipla tra gli oggetti<br />

Quella che a prima vista sembrava una carenza di Javascript (la mancanza<br />

di classi) si rivela invece una straordinaria flessibilità se pen-<br />

I libri di ioPROGRAMMO/Javascript <strong>by</strong> Example 43<br />

JAVASCRIPT<br />

BY EXAMPLE

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!