哪种实现形式更好?
有两个对象A和B,以下哪种实现形式更好?   
 //实现一 
 class   A 
    {int   id; 
       ... 
    } 
 class   B   extends   A 
    {byte   data[]; 
       ... 
    }   
 //实现二 
 class   A 
    {int   id; 
       ... 
    } 
 class   B    
    {A   a; 
       byte   data[]; 
       public   A   getA   {return   a;} 
       ... 
    }
------解决方案--------------------一般情况下,如果组合可能解决问题,就尽量别用继承。 
 继承表达的是一种“is-a”的关系,组合表达的是“has-a”的关系。前者所造成的两个类之间的耦合程度要高于后者。 
 但这只是理论上的普遍情况,针对每一种具体的情况,程序设计者本人应该更清楚哪种更适合。
------解决方案--------------------同上
------解决方案--------------------继承和组合都能从现有类型生成新类型。然而,组合一般是 将现有类型作为新类型的底层实现的一部分加以复用,而继承复用接口 
 一开始设计时,一般应优先选择使用组合,只在确实必要时才使用继承,因为组合更灵活 
 所以建议先使用实现2,看需要在用实现一