Esempio Javascript 'puro'

Creiamo una funzione costruttore Aereo che eredita attributi e metodi di Veicolo

Codice:

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

function Aereo(passeggeri) {
  this.carica(passeggeri);
  this.altitudine = 0;
  this.decolla = function() {
    this.velocita = 100;
    this.altitudine = 10;
  }
}
Aereo.prototype = new Veicolo();
Aereo.prototype.constructor = Aereo;

var jumbo = new Aereo(250);
jumbo.decolla();
document.write('jumbo velocità: ' + jumbo.velocita + '<br />');
document.write('jumbo altitudine: ' + jumbo.altitudine + '<br />');
document.write('jumbo passeggeri: ' + jumbo.passeggeri + '<br />');

Output:

Stesso esempio usando Mootools

Codice:

var Veicolo = new Class({
  initialize: function(options) {
    this.options = options;
    this.passeggeri = 0;
    this.velocita = 0;
    if(this.options.passeggeri) {
      this.carica(this.options.passeggeri);
    }
  },
  carica: function(passeggeri) {
    if(passeggeri > 0) {
      this.passeggeri += passeggeri;
    }
  }
})

var Aereo = Veicolo.extend({
  initialize: function(options) {
    this.parent(options);
    this.altitudine = 0;
  },
  decolla: function() {
    this.velocita = 100;
    this.altitudine = 10;
  }
})

var jumbo = new Aereo({passeggeri:250});
jumbo.decolla();
document.write('jumbo velocità: ' + jumbo.velocita + '<br />');
document.write('jumbo altitudine: ' + jumbo.altitudine + '<br />');
document.write('jumbo passeggeri: ' + jumbo.passeggeri + '<br />');

Output: