ES6中实现继承

news/2024/7/10 23:31:42 标签: es6, 前端, javascript

  本篇文章主要说明在ES6中如何实现继承,学过java的小伙伴,对class这个关键字应该不陌生,ES6中也提供了class这个关键字作为实现类的语法糖,咱们一起实现下ES6中的继承。

实现思路

  首先直接通过class来声明一个Teacther类,作为父类,之后在父类中声明constructor函数,用来对父类属性进行初始化,之后声明responsibility函数和teaching函数,如下图:

  可以看到responsibility函数与其他函数的区别,它多了一个static关键字,效果就是responsibility函数可以不用借助实例,直接被类调用,如下图:

  接下来声明一个Student类作为子类,通过extends关键字,对Teacher类进行继承,需要注意的在构造函数首行调用super(),可以理解为在子类构造函数调用this和返回对象之前,需要先执行父类的构造函数代码,同时声明studying函数,如下图:

  上面的步骤完成之后,咱们实例化一个student对象,调用父类的方法执行正常,就说明在ES6中的继承完成。

完整代码

javascript">class Teacher {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    static responsibility() {
        console.log("承担责任")
    }

    teaching() {
        console.log("教学")
    }
}

class Student extends Teacher{
    constructor(name, age, sno) {
        super(name, age);
        this.sno = sno;
    }

    studying() {
        console.log("学习")
    }
}

var stu1 = new Student("guanju", 18, 115);
stu1.studying();
stu1.teaching();
Teacher.responsibility();
Student.responsibility();


http://www.niftyadmin.cn/n/5198008.html

相关文章

异步爬取+多线程+redis构建一个运转丝滑且免费http-ip代理池 (一)

前言: 之前构建的那个代理池,虽然也使用了多线程,但是对于数据的爬取在效率上还是不如人意 相关链接(https://mp.csdn.net/mp_blog/creation/editor/134479431);又担心爬取的服务器架不住,所以一直不敢采取异步爬取; 在测试多番之后,发现是可以的! 于是,开始... 这一步,主…

应试教育导致学生迷信标准答案惯性导致思维僵化-移动机器人

移动机器人课程群实践创新的困境与突围 一、引言 随着科技的快速发展,工程教育变得越来越重要。然而,传统的应试教育模式往往侧重于理论知识的传授,忽视了学生的实践能力和创新精神的培养。这在移动机器人课程群的教学中表现得尤为明显。本文…

python 词云 wordcloud使用paddle模式 庆余年人物分析--不是特别准,可以看着玩一玩

看完之后你也可以生成自己的词云 提供一个过滤人名的英中词性分析对应,更多的可以去我的码云上看看 https://gitee.com/billion_lines_of_code/learn-wordcloud # 只过滤人名 En2Cn_name {nr: 名词-人名,nr1: 名词-汉语姓氏,nr2: 名词-汉语名字,nrf: 名词-音译人…

Arduino驱动DS18B20数字温度传感器(温湿度传感器)

目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 DS18B20数字温度传感器是美国DALLAS公司生产的一总线数字温度传感器。其测温范围 -55℃~+125℃,固有测温分辨率0.5℃,支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温,测量结果以9~12位…

Vue中的组件间通信有哪些方式?

Vue中实现组件间通信的方式非常多样,以下是一些常用的方式: Props / $emit:这是最常用的组件通信方式,父组件通过属性向子组件传递数据,子组件通过事件向父组件传递数据。Ref / $refs:这是一种访问子组件或…

新中新身份证阅读器驱动下载sdk DKQ-A16D

读取操作 int nRet;string sMsg "";IDCardData idcardData new IDCardData();byte[] ctmp new byte[255];ReadCardAPI.Syn_SetPhotoPath(1, ref ctmp);setupDataFormate(1);nRet ReadCardAPI.Syn_OpenPort(Main_Form.m_iPort);if (nRet 0){DateTime startTime …

【高级程序设计】Week2-4Week3-1 JavaScript

一、Javascript 1. What is JS 定义A scripting language used for client-side web development.作用 an implementation of the ECMAScript standard defines the syntax/characteristics of the language and a basic set of commonly used objects such as Number, Date …

【计算机视觉】24-Object Detection

文章目录 24-Object Detection1. Introduction2. Methods2.1 Sliding Window2.2 R-CNN: Region-Based CNN2.3 Fast R-CNN2.4 Faster R-CNN: Learnable Region Proposals2.5 Results of objects detection 3. SummaryReference 24-Object Detection 1. Introduction Task Defin…