ES6基础入门五)—— class继承及案例

1.class继承的实现

2.super关键字

3.方法的重写

<script>
    //es5
    function Animal(name,colr){
        this.name = name;
        this.color = color;
    }
    Animal.prototype.eat = function(){
        console.log(this.name ="is eating" );
    }
    Animal.prototype.sleep = function(){
        console.log(this.name = "is sleeping");
    }
    
    //es6:更简洁、直观
    class Animal{
        constructor(name,color){
            this.color = color;
        }
        eat(){
            console.log(this.name+"is eating");
        }
        sleep(){
            console.log(this.name+"is sleep");
        }
    }
    
    class Rabbit extends Animal{
        constructor(name,color,age){
            //子类中通过super调用父类的构造函数,一定要放在第一行
            // super访问父类的方法
            super(name,color);
            this.age = age;
        }
        //子类通过定义同名的方法覆盖父类中的方法,当子类对象调用的时候,优先执行子类自己拥有的方法
        eat(){
            console.log("露出了常常的牙齿")
        }
        test(){
            //通过super关键字,调用父类对象中的方法
            super.eat();
        }
    }
    let rab = new Rabbit("兔八哥","白色",10);
    rab.eat();
    rab.sleep();
    rab.tast();
    console.log(rab);
</script>

《待更新》

相关文章

原文连接:https://www.cnblogs.com/dupd/p/5951311.htmlES6...
以为Es6,javascript第一次支持了module。ES6的模块化分为导...
视频讲解关于异步处理,ES5的回调使我们陷入地狱,ES6的Prom...
TypeScript什么是TypeScript?TypeScript是由微软开发的一款开...
export class AppComponent { title = 'Tour of heroes...
用 async/await 来处理异步昨天看了一篇vue的教程,作者用as...