"Is-a”与"Has-a"的关系
时间:2010-03-16 来源:yong_kang
"Has-a"代表的是对象和他成员的从属关系,同一种类的对象,通过它们的属性的不同值来区别。比如张三和李四都是人,但他们的名字不一样,可以以此区分这两个具体的人。名字应该作为人的成员变量。如果将名字叫“张三”的人和名字叫“李四”的人分别定义成两个类,均继承“人”这个类,显然是不合理的。
装饰模式中有出现两者同时用的情况,一个类在接口上表现为is-a的继承关系,但在实现上又表现为has-a的组合关系,简要代码:
abstract class Decorator : Component//---Decorator “is-a” Component |
详细代码:http://www.cnblogs.com/MaoBisheng/archive/2008/08/16/1269404.html?updated=1
本文转自:http://www.cnblogs.com/maobisheng/archive/2008/08/31/1280444.html