博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6 学习 -- Class继承
阅读量:6657 次
发布时间:2019-06-25

本文共 860 字,大约阅读时间需要 2 分钟。

(1)如何继承

Class可以通过extends关键字实现继承,如下:
class Father {

}

class Child extends Father {

}

// 这里子类Child继承父类Father的所有属性和方法,当然我们也可以在子类中添加自己的方法和属性。如果在子类中出现关键字super,它在这里表示父类的构造函数,用来新建父类的this对象

// 子类必须在constructor方法中调用super方法,否则构建实例时会报错,这是因为子类没有自己的this对象,必须通过父类的继承拿到this对象,然后对其进行加工,加上子类自己本身的实例属性和方法,最后才能拿到属于子类的this对象

// 子类中默认定义有constructor方法,不管有没有显示定义,任何一个子类都有constructor方法。

// 父类的静态方法也会被子类继承

(2)Object.getPrototypeOf()  // 从对象上获取属性,可以用于判断一个类是否继承于另一个类
Object.getPrototypeOf(Child) === Father; // 从子类Child上获取父类Father

(3)super关键字
super关键字,既可以当作函数使用,也可以当作对象使用
①作为函数使用时,super()代表父类的构造函数,ES6规定,子类的构造函数必须执行一次super函数,且super方法只能子类的根作用域下调用,在其他地方调用直接报错,如下
class A {}

class B extends A {

  m() {
    super(); // 报错,此时的super()是在函数m的作用域下调用的
  }
}

②super当作对象使用时,在普通方法中,super指向父类的原型对象(由于指向父类原型对象,所以父类实例调用super对象是拿不到结果的),在静态方法中,指向父类本身

转载于:https://www.cnblogs.com/secretAngel/p/9699703.html

你可能感兴趣的文章
java课程设计 计算器_Java课程设计-计算器
查看>>
java 什么是内部类_什么是JAVA内部类?
查看>>
java web套打_XMReport-提供web项目Java套打解决方案
查看>>
java获取图片分辨率_java获取远程图片分辨率
查看>>
java label 超链接_java – 如何在JLabel中添加超链接?
查看>>
java foreach 源码_java Foreach与迭代器(示例代码)
查看>>
java http请求分发_Java实现利用HttpClient和配置文件实现集群模式下的文件同步分发-Go语言中文社区...
查看>>
java log4j 使用_java日志之log4j简单使用
查看>>
java oracle分页查询语句_oracle 分页语句
查看>>
java 连接sqlserver_java连接sqlserver报错
查看>>
mysql元数据同步_MySQL 元数据
查看>>
java 事务面试_java中关于java事务的面试要点
查看>>
java宝典_Java宝典(三)
查看>>
java选_java基础笔记(七)——java选择结构
查看>>
2017java软件开发_201671010114 2016-2017-2《Java程序设计》Java的设计环境
查看>>
java非jsp_java – JSTL / JSP EL(表达式语言)在非JSP(独立)上下文中
查看>>
java垃圾回收是系统级线程_JAVA的垃圾回收机制
查看>>
java程序设计基础第七章_Java语言程序设计(基础篇) 第七章 一维数组
查看>>
外部导入java文件_从其他目录中的外部文件导入配置
查看>>
java实现找数字游戏_Java实现简单猜数字小游戏
查看>>