【有书共读】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##笔记##读书笔记#