.js中的继承
2021/10/1 23:14:22
本文主要是介绍.js中的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
-
JS继承实现⽅式也很多,主要分ES5和ES6继承的实现
-
ES5继承:
-
ES5实现继承主要是基于prototype来实现的,具体有三种⽅法
-
原型链继承:即 B.prototype=new A()
-
寄生组合继承
-
特点:
1.最完美的js继承解决方案
2.父类私有的属性和方法,成为子类实例私有的属性和方法
3.父类公有的属性和方法,成为子类实例公有的属性和方法
-
结合原型链继承和call继承的方法,同时自己创建一个对象,并且让这个对象的原型指向父类构造函数的prototype.实现寄生组合继承
-
组合继承是结合原型链继承和借用构造函数继承
-
特点:
(call继承)
1.子类实例可以使用父类私有的属性和方法
2.父类私有的属性和方法都会变成子类实例私有的属性和方法
(原型链继承)
3.子类实例可以通过原型链访问和使用父类公有的属性和方法
4.子类的原型链上会存在一份多余的父类的私有属性和方法
-
-
-
-
call继承(借用构造函数继承)
//在子类构造函数中把父类构造函数当作普通的函数执行, 并且通过call方法把父类构造函数中的this替换成子类的实例(this), 这样相当于给子类实例设置了私有的属性和方法
特点:
1.只能继承父类私有的属性和方法(因为只是把父类构造函数当作普通函数执行了一次,跟父类的原型上的方法和属性没有任何关系)
2.父类的私有的属性和方法 都会变成子类私有的属性和方法
3.⽤class关键字定义类,⽤extends关键字继承类,⽤super()表示⽗类 - ES6继承
-
ES6 class继承
通过extends来实现继承
class 子类 extends 父类
在constructor中要使用super()
特点
1.父类私有的属性和方法 会变成子类私有的属性和方法
2.父类公有属性和方法 会变成子类公有的属性和方法
-
通过extends 实现原型链继承
如果不写constructor,不会报错 继承会正常实现
如果不写constructor, 浏览器会自动的帮我们去创建一些代码
这篇关于.js中的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程
- 2024-12-20Vue3入门教程:从零开始搭建你的第一个Vue3项目
- 2024-12-20从零开始学习vueRouter4:基础教程
- 2024-12-20Vuex4课程:新手入门到上手实战全攻略