JSFiddle - React, Tailwind, and code Playground
JavaScript
console.clear();
function ClassA() {
this.property = "Ap";
this.method = function() {
return "Am"
};
}
function ClassB() {
this.property = "Bp";
}
ClassB.prototype = new ClassA();
var b1 = new ClassB();
console.log("ClassB hérite de ClassA et aucune méthode n'est déclarée dans ClassB");
console.log("b1.property", b1.property);// Affiche "Bp"
console.log("b1.method()", b1.method());// Affiche "Am"
ClassB.prototype.method = function() {
return "Bm";
};
console.log("ClassB hérite de ClassA mais sa méthode est ré-écrite");
console.log("b1.method()", b1.method());// Affiche "Bm"
function ClassC() {
this.property = "Cp";
this.method = function() {
return "Cm";
};
}
ClassB.prototype = new ClassC();
console.log("ClassB hérite de ClassC");
console.log("b1.method()", b1.method());// Affiche "Bm"
var b2 = new ClassB();
console.log("b2.method()", b2.method());// Affiche "Cm"
ClassB.prototype = new ClassA();
console.log("ClassB hérite à nouveau de ClassA");
console.log("b1.method()", b1.method());// Affiche "Bm"
console.log("b2.method()", b2.method());// Affiche "Cm"
var b3 = new ClassB();
console.log("b3.method()", b3.method());// Affiche "Am"
console.log("Vous avez 3 objets de type ClassB et pourtant, ils ont tous les 3 une signature différente.");