若是逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其他东西组合出B。

     例如眼、鼻、口、耳是头的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,而不是派生而成。程序如下:

读书笔记之组合class Eye 

Head由Eye、Nose、Mouth、Ear组合而成。如果允许Head从Eye、Nose、Mouth、Ear派生而成,那么Head将自动具有Look、Smell、Eat、Listen这些功能。程序十分简短并且运行正确,但是下面这种设计方法却是不对的。

读书笔记之组合class Head:public Eye,public Nose,public Mouth,public Ear
读书笔记之组合

 

相关文章:

  • 2021-08-23
  • 2022-12-23
  • 2021-07-10
  • 2022-02-19
  • 2021-12-30
  • 2022-01-13
  • 2021-11-27
  • 2021-08-27
猜你喜欢
  • 2021-12-31
  • 2021-06-04
  • 2021-12-05
  • 2021-11-04
  • 2022-12-23
  • 2021-05-16
  • 2021-08-08
相关资源
相似解决方案