JavaScript面向对象编程(9)高速构建继承关系之整合原型链
2017-05-06 16:02
489 查看
前面我们铺垫了非常多细节。是为了让大家更加明晰prototype的使用细节;
如今能够将前面的知识整合起来,写一个函数用于高速构建基于原型链的继承关系了:
使用起来也特别简单:
如今能够将前面的知识整合起来,写一个函数用于高速构建基于原型链的继承关系了:
function extend(Child, Parent) { var F = function(){}; F.prototype = Parent.prototype; Child.prototype = new F(); Child.prototype.constructor = Child; Child.uber = Parent.prototype; }
使用起来也特别简单:
function Shape(){} // augment prototype Shape.prototype.name = 'shape'; Shape.prototype.toString = function(){ var result = []; if (this.constructor.uber) { result[result.length] = this.constructor.uber.toString();//super.toString() } result[result.length] = this.name; return result.join(', '); }; function TwoDShape(){} //先继承。再增强 extend(TwoDShape,Shape); TwoDShape.prototype.name = '2D shape'; function Triangle(side, height) { this.side = side; this.height = height; } extend(Triangle,TwoDShape); Triangle.prototype.name = 'Triangle'; //使用继承而来的toString方法 alert(new Triangle(10,5).toString());
相关文章推荐
- JavaScript面向对象编程(10)高速构建继承关系之对象拷贝
- JavaScript面向对象编程(9)快速构建继承关系之整合原型链
- JavaScript面向对象编程(10)快速构建继承关系之对象拷贝
- JavaScript的原型链继承__propt__、prototype、constructor的理解、以及他们之间相互的关系。
- 理清javascript中prototype、__proto__、Object、Function的关系,更好地理解原型继承
- JavaScript面向对象编程(一)原型与继承
- JavaScript对象原型继承关系图
- JavaScript面向对象编程之prototype原型与继承
- 在JavaScript面向对象编程中使用继承(2)
- 在JavaScript面向对象编程中使用继承(1)
- 在JavaScript面向对象编程中使用继承(4)
- 在JavaScript面向对象编程中使用继承(2)
- 在JavaScript面向对象编程中使用继承(5)
- Javascript中继承和Prototype的关系
- 在JavaScript面向对象编程中使用继承(4)
- Javascript中继承和Prototype的关系
- 在JavaScript面向对象编程中使用继承(3)
- 在JavaScript面向对象编程中使用继承(4)
- 在JavaScript面向对象编程中使用继承(3)
- [原创] JavaScript面向对象编程(1) :继承