博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组合式继承
阅读量:7062 次
发布时间:2019-06-28

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

此方式即可满足函数的复用,也可满足子类实例有各自的属性,也可传递参数。

 

function SuperType(name){    this.name = name; //参数传递    this.colors = [1,2]; //子类实例共有基本值} SuperType.prototype.sayName = function(){ //子类共享函数alert(this.name);} function SubType(name,age){SuperType.call(this,name); //继承属性this.age = age;} //继承方法SubType.prototype = new SuperType(); //继承原型SubType.prototype.sayAge = function(){ //子类原型中共有方法    alert(this.age);} var in1 = new SubType("Jack",12); //可以传递参数 in1.colors.push(3); //访问超类的属性,而且有默认值哦alert(in1.colors);in1.sayName();in1.sayAge(); var in2 = new SubType("Tom",30);in2.colors.push(5); //访问超类属性,修改默认值不会影响其他的实例alert(in2.colors);

 

此方式也有个缺点就是超类的构造函数要执行2次,超类的属性既存在子类实例中,也存在子类实例的原型中。

转载于:https://www.cnblogs.com/lcw5945/p/4142487.html

你可能感兴趣的文章
硬件方案终于谈下来了,松了一口气,呼
查看>>
linux安装
查看>>
吴恩达机器学习笔记7-梯度下降III(Gradient descent intuition) --梯度下降的线性回归...
查看>>
iPhone-获取网络数据或者路径的文件名
查看>>
jquery简单实现点击弹出层效果实例
查看>>
TOSSIM进行无线传感网络仿真的大致流程
查看>>
微信内打开链接显示已停止访问该网页
查看>>
基于servlet和jsp的简单注册登录页面(包括:增删查改及分页显示)
查看>>
数据结构基础之一
查看>>
10.29随笔
查看>>
ScintillaNET v2.5 简单应用实例讲解
查看>>
I.MX6 Android busybox 从哪里生成的
查看>>
循环节长度 蓝桥杯
查看>>
linux软件安装:源码(1)
查看>>
c++-merge k sorted lists heap的灵活应用
查看>>
干货站
查看>>
RabbitMQ 基础概念介绍
查看>>
1117bootstrap
查看>>
centos6.5上卸载和安装JDK7
查看>>
从文件加载至NSData
查看>>