1.合成/聚合复用原则:
尽量优先使用合成/聚合,尽量不要使用类继承。盲目使用继承会造成麻烦。
所以在使用继承时,一定要在是“Is-a”的关系时,再考虑使用。手机软件显然不是一个,即不是a,所以不能从手机品牌向下继承。如下图是不对的。
聚合,表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;
合成,表示一种强的“拥有”关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
比如说:大雁有两个翅膀,这就是合成关系。大雁和雁群,是聚合关系。
1.合成/聚合复用原则:
尽量优先使用合成/聚合,尽量不要使用类继承。盲目使用继承会造成麻烦。
所以在使用继承时,一定要在是“Is-a”的关系时,再考虑使用。手机软件显然不是一个,即不是a,所以不能从手机品牌向下继承。如下图是不对的。
聚合,表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;
合成,表示一种强的“拥有”关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
比如说:大雁有两个翅膀,这就是合成关系。大雁和雁群,是聚合关系。