• ES6中实现继承


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

    实现思路

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

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

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

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

    完整代码

    1. class Teacher {
    2. constructor(name, age) {
    3. this.name = name;
    4. this.age = age;
    5. }
    6. static responsibility() {
    7. console.log("承担责任")
    8. }
    9. teaching() {
    10. console.log("教学")
    11. }
    12. }
    13. class Student extends Teacher{
    14. constructor(name, age, sno) {
    15. super(name, age);
    16. this.sno = sno;
    17. }
    18. studying() {
    19. console.log("学习")
    20. }
    21. }
    22. var stu1 = new Student("guanju", 18, 115);
    23. stu1.studying();
    24. stu1.teaching();
    25. Teacher.responsibility();
    26. Student.responsibility();

  • 相关阅读:
    ADB与 Android 设备建立连接并进行通信
    单链表基本操作-查找
    HTML小游戏12 —— 汽车赛道飙车游戏(附完整源码)
    面试:容器技术
    深度学习入门(二十八)卷积神经网络——AlexNet
    Spring的使用
    Servlet
    React/Vue项目-请求文件封装(Axios,WebSocket)
    cmd运行jar包,txt文件中文乱码问题
    Android进阶 3、商品列表展示案例(2)
  • 原文地址:https://blog.csdn.net/z020729/article/details/134520679