使用ES6的class关键字定义类和extends实现类的继承

本文详细介绍了如何在JavaScript中使用ES6的class关键字来定义类,并探讨了如何通过extends关键字实现类的继承。通过实例解析,读者将能够掌握ES6中的类语法和继承机制,从而更好地进行面向对象编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//使用class 关键字  ,定义类 =>(ES5中构造函数)
//定义一个父类 : 父类不会被用于实例化 , 只提供与继承使用
    class Animal{
        //构造函数 constructor 每个类中都会有这个内置的构造函数 ,会在类实例化的时候自动调用 ,用于初始化实例对象(在new 需要设置一些属性)
        constructor(name,type,color){ //此处的参数 ,在new 的构造函数中传递过来的
            console.log("Animal实例中...");
            this.name = name;
            this.type = type;
            this.color = color;
        }
        run(){
            console.log("我能跑...");
        }
        shout(){
            console.log("我能叫...");
        }
    }

    //定义一个子类 - Cat
    class Cat extends Animal{
        constructor(name,type,color){
            super(name,type,color);//相当于调用了父类中的构造函数
            console.log("Cat实例化中 ...");
        }
        catchMouse(){
            console.log("我能抓老鼠!");
        }
    }

    //定义一个子类 - Dog
    class Dog extends Animal{
        constructor(name,type,color){
            super(name,type,color);//相当于调用了父类中的构造函数
            console.log("Dog 实例化中....");
        }
        watchHouse(){
            console.log("我能看家");
        }
    }

    let cat = new Cat("小花","橘猫","橘黄色");
    let dog = new Dog("阿黄","藏獒","橘红色");

    console.log(cat.run === dog.run); // true 说明两个实例对象都继承了来自于同一个父类中的方法 (在实例对象的原型上)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值