sabato 3 maggio 2014

Creazione di metodi per un costruttore (sempre seguendo il tutorial)

Adesso creo un metodo per il mio costruttore Veicolo.
Ci sono due modi di creare un metodo (come nel C++): esterno al costruttore o incorporato in questo.
Mi esercito in tutti e due:
function carica(passeggeri){
 if(passeggeri>0) this.passeggeri+=passeggeri;
}

function Veicolo(passeggeri){
 this.velocita=0;
 this.passeggeri=0;

 if(passeggeri>0) this.passeggeri=passeggeri;
 this.carica=carica;
}


var Auto=new Veicolo(1);

Auto.carica(2);

document.write(Auto.passeggeri+"<br>");
3

Ecco: il metodo carica() è esterno al costruttore.
Facendo così c'è un vantaggio e uno svantaggio che dipenderanno da quello che voglio fare del programma:
  • Posso usare lo stesso metodo per diversi costruttori;
  • Si possono creare conflitti col nome qualora volessi creare metodi con lo stesso nome ma diversi per ciascun costruttore.


In questo secondo caso, conviene incorporare il metodo nel costruttore:
function Veicolo(passeggeri){
 this.velocita=0;
 this.passeggeri=0;

 if(passeggeri>0) this.passeggeri=passeggeri;
 this.carica=function(passeggeri){
  if(passeggeri>0) this.passeggeri+=passeggeri;
 }
}


var Auto=new Veicolo(1);

Auto.carica(2);

document.write(Auto.passeggeri+"<br>");
3

Perfetto!

Nessun commento:

Posta un commento