【有书共读】JavaScript面向对象编程指南 6-03

【有书共读】JavaScript面向对象编程指南 6-03

6.2、只继承于原型
我们尽可能地将一些可以重用的属性和方法添加到原型中去,这样我们仅仅依靠原型就能完成继承关系的构建。
采用以下方式对效率做一些改善:
1、不要单独为继承关系创建新对象;
2、尽量减少运行时方法搜索
function Shape(){}
Shape.prototype.name='shape';
Shape.prototype.toString = function(){
return this.name;
};

function TwoDShape(){}
TwoDShape.prototype=Shape.prototype;
TwoDShape.prototype.constructor=TwoDShape;
TwoDShape.prototype.name='2D shape';

function Triangle(side,height){
this.side = side;
this.height = height;
}

Triangle.prototype = TwoDShape.prototype;
Triangle.prototype.constructor = Triangle;
Triangle.prototype.name='Triangle';
Triangle.prototype.getArea = function(){
return this.side * this.height /2;
}

优点:这里所采用的都是引用传递而不是值传递,效率更高。
缺点:由于子对象与父对象指向的是同一个对象,所以一旦子对象对其原型进行了修改,父对象也会随即被改变,甚至所有的继承关系都是如此。
#Java##笔记##读书笔记#
全部评论

相关推荐

hwwhwh:同双非,有大厂实习其实也没啥用,主要看运气,等就行了
点赞 评论 收藏
分享
09-22 15:45
门头沟学院 Java
谁给娃offer我给...:我也遇到了,我说只要我通过面试我就去,实际上我根本就不会去😁
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务