首页新闻互联网通信3GIT数码手机家电新知

js继承对象和js继承方式的代码示例教程


子类可以使用父类的所有功能,并且对这些功能进行扩展。继承的过程,就是从一般到特殊的过程。

以下讨论的是和继承 对象 相关的js继承对象和js继承方式的代码示例教程教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容:

本篇文章js继承对象和js继承方式的代码示例教程

js继承

继承:子类可以使用父类的所有功能,并且对这些功能进行扩展。继承的过程,就是从一般到特殊的过程。

js类继承

// 父类
var supper

其中最核心的一句代码是SubClass.prototype = new SuperClass() ;

3832936328-5b6d428a8c59e_articlex.png

将原型__proto__ 指向了父类的原型对象。这样子类就可以访问父类的public 和protected 的属性和方法,同时,父类中的private 的属性和方法不会被子类继承。

缺点

敲黑板,如上述代码的最后一段,使用类继承的方法,如果父类的构造函数中有【引用类型】,就会在子类中被所有实例共用,因此一个子类的实例如果更改了这个引用类型,就会影响到其他子类的实例。

js构造函数继承

正式因为有了上述的缺点,才有了构造函数继承,构造函数继承的核心思想就是SuperClass.call(this,id),直接改变this的指向,使通过this创建的属性和方法在子类中复制一份,因为是单独复制的,所以各个实例化的子类互不影响。但是会造成内存浪费的问题

var parent

3490519099-5b6d47b6051c7_articlex.png

我们先来总结一下类继承和构造函数继承的优缺点

= 类继承 构造函数继承
核心思想 子类的原型是父类实例化的对象 SuperClass.call(this,id)
优点 子类实例化对象的属性和方法都指向父类的原型 每个实例化的子类互不影响
缺点 子类之间可能会互相影响 内存浪费
教程内容到此结束,欢迎您再次访问http://www.alixixi.com,我们致力于提供丰富的web开发教程及资源。

关于我们法律声明免责声明问题提交留言给网站联系我们

本站资料大多收集而来,只做参考,所有权归原版所有,有异议请留言,邮箱:sdpos@163.com