`
atusoft
  • 浏览: 55570 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

is-a VS has-a

 
阅读更多
A和B
如果是is-a 的关系,那么使用继承。
如果 是has-a,就应该是两个独立的类,

将所有类型的B封装成一个类, 通过setter设为A的一个属性,就是Strategy了, 这样可以在运行时视情况改变a的行为了。

如果想在原有类的一个实例中动态增加属性或者做处理, 使用Decorator层层修饰,就象Inputstream一样。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics