关于继承
来源:互联网 发布:c语言continue在if中 编辑:程序博客网 时间:2024/05/22 01:35
继承的几种方式
- 原型链
/*原型链*/ function SuperType() { this.property=true; } SuperType.prototype.getSuperValue=function () { return this.property; }; function SubType(){ this.subproperty=true; } SubType.prototype=new SuperType(); SubType.prototype.getSubValue=function () { return this.subproperty; }; var instance=new SubType(); console.log(instance);
通过控制台可以看出原型链的方式
2. 借用构造函数继承
/*借用构造函数继承*/function SuperType() { this.color=["blue","red"];}function SubType() { SuperType.call(this);//继承了color属性}var instance1=new SubType();instance1.color.push("black");console.log(instance1);
3.组合方式继承
/*组合方式继承*/function SuperType(name){ this.name=name; this.colors=["blue","white"];}SuperType.prototype.sayName=function () { console.log(this.name);};function SubType(age,name){ SuperType.call(this,name);//通过构造函数方式继承 this.age=age;}SubType.prototype=new SuperType();//通过原型的方式继承Subtype.prototype.constructor=SubType;Subtype.prototype.sayAge=function () { console.log(this.age);};var instance1=new SubType("hello",29);console.log(instance1);
4.原型式继承
object.create()的profill方式
function Object(o) { function F() {} F.prototype=o; return new F();}
5.寄生组合式继承
/*寄生组合式继承*/ function inHeritPrototype(SuperType,SubType) { var prototype=Object(SuperType.prototype);//创建对象 prototype.constructor=SubType;//增强对象 SubType.prototype=prototype; } function SuperType(name){ this.name=name; this.colors=["blue","white"]; } SuperType.prototype.sayName=function () { console.log(this.name); }; function SubType(age,name) { SuperType.call(this, name); this.age=age; } inHeritPrototype(SuperType,SubType); SubType.prototype.sayAge=function () { return this.age; }; var instance1=new SubType("hello",28); console.log(instance1);
阅读全文
0 0
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于继承
- 关于C++继承(多重继承)
- 关于继承,函数的继承
- CSS的学习【最后编辑2017.7.13】
- Android之BroadcastReceiver广播接收者
- 【Cython】Cython三分钟入门教程
- 8.15 最大公共子图
- hihoCoder #1081 : 最短路径·一 (Dijkstra算法)
- 关于继承
- PHP5.6.30配置Mysql和mantis
- 两种实现 无头结点单向链表 的插入、查找、删除
- 列表生成式
- 【Python】产生随机数字09
- python win7 64位下无法安装mysql驱动问题
- 线程的实现
- 有上下界的网络流小结
- 静态链接、动态链接、静态重定位、动态重定位