JSFiddle - React, Tailwind, and code Playground
JavaScript
//Class Động vật có vú
function Mammal(name){
this.name=name;
this.offspring=[];//Mùa sinh sản!!!
}
//Phương thức sinh con (hoặc có con)
Mammal.prototype.haveABaby=function(){
var newBaby=new Mammal("Baby "+this.name);
this.offspring.push(newBaby);
return newBaby;
}
//Hàm trả về tên con vật
Mammal.prototype.toString=function(){
return '[Mammal "'+this.name+'"]';
}
//Class Mèo kế thừa Class Động vật có vú
Cat.prototype = new Mammal();
Cat.prototype.constructor=Cat;
//Constructor của class Cat
function Cat(name){
this.name=name;
}
//Hàm trả về tên con vật
Cat.prototype.toString=function(){
return '[Cat "'+this.name+'"]';
}
//Tạo Mr.Bill !!!
var someAnimal = new Mammal('Mr. Bill');
//Tạo mèo Tom
var myPet = new Cat('Tom');
alert('someAnimal is '+someAnimal);//Trả về 'someAnimal is [Mammal "Mr. Bill"]'
alert('myPet is '+myPet);//Trả về 'myPet is [Cat "Tom"]'
//Cho mèo sinh con (kế thừa từ Mammal)
myPet.haveABaby();
//Thông báo về số con của mèo Tom
alert(myPet.offspring.length);
alert(myPet.offspring[0]);//Trả về [Mammal "Baby Tom"]'