JSFiddle - React, Tailwind, and code Playground
by bouillard
JavaScript
var Vehicle = function(nbWheels){
console.log("Create Vehicle("+nbWheels+")");
this.nbWheels = nbWheels;
this.speed = 0;
};
Vehicle.prototype.accelerate= function(acc){
console.log("Vehicle.accelerate("+acc+")");
this.speed += acc;
return this;
};
Vehicle.prototype.decelerate= function(dec){
console.log("Vehicle.decelerate("+dec+")");
this.speed -= dec;
if (this.speed<0) {
this.speed = 0;
}
return this;
};
var Moto = function(){
console.log("Create Moto()");
};
Moto.prototype = new Vehicle(2);
var Car= function(topSpeed){
console.log("Create Car("+topSpeed+")");
this.topSpeed = topSpeed;
};
Car.prototype = new Vehicle(4);
Car.prototype.accelerate = function(acc) {
console.log("Car.accelerate("+acc+")");
Vehicle.prototype.accelerate.call(this,acc);
if (this.speed>this.topSpeed) {
this.speed = this.topSpeed;
}
return this;
};
Vehicle.prototype.log= function() {
console.log(this.nbWheels+" : "+this.speed);
return this;
};
var m = new Moto();
m .log()
.accelerate(30)
.log()
.accelerate(100)
.log()
.decelerate(200)
.log()
;
var c = new Car(100);
c .log()
.accelerate(30)
.log()
.accelerate(100)
.log()
;