有两个对象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;}
  ...
 }

解决方案 »

  1.   

    一般情况下,如果组合可能解决问题,就尽量别用继承。
    继承表达的是一种“is-a”的关系,组合表达的是“has-a”的关系。前者所造成的两个类之间的耦合程度要高于后者。
    但这只是理论上的普遍情况,针对每一种具体的情况,程序设计者本人应该更清楚哪种更适合。
      

  2.   

    谢谢各位!我的是“has-a”,先用组合试试。