Demo

ソースコード

script.js


$(()=>{
    
    let cat =new Cat();
    
    cat.bark('茶ひげ猫');
    cat.meows('スカンピー猫');
    cat.runAway('黒い');
    cat.chase();
    
});

Cat.js



class Cat extends Animal{
    
    constructor(){
        $('#res').append('茶ひげ猫と');
        super();
        
        this.item = 'スリッパ';
    }
    
    meows(){
        super.bark('大きな茶ひげ'); // スーパークラスのメソッドを呼び出す
    }
    
    // メソッドのオーバーライド
    runAway(color_text){
        
        super.runAway(color_text);
        
         let text = `${color_text}子猫も一緒に逃げ出した。<br>`;
        $('#res').append(text);

    }
}

Animal.js


class Animal{
    
    constructor(){
        $('#res').append('黒猫<br>');
        
        this.master = '飼い主';
        this.item = 'チェンソー';
    }
    
    bark(name){
        let text = `${name}が吠える<br>`;
        $('#res').append(text);
    }
    
    runAway(color_text){
        let text = `${color_text}親猫は逃げ出した。<br>`;
        $('#res').append(text);
    }
    
    chase(){
        let text = `${this.master}は${this.item}を持って茶ひげ猫を追いまわした。<br>`;
        $('#res').append(text);
    }

    
}