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>");
3Ecco: 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>");
3Perfetto!
Nessun commento:
Posta un commento