JSFiddle - React, Tailwind, and code Playground

by axitdn

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"]'