计算机科学

首页 > 计算机科学

Is-a

2018-07-27 09:26:38     所属分类:计算机科学小作品

在知识表示、面向对象程序设计与面向对象设计的领域里,is-a英语:subsumption,包含架构)指的是类的父子继承关系,例如类D是另一个类B的子类(类B是类D的父类)。

换句话说,通常"D is a B"(BD包含在内,或是D被包含在B内)指的是,概念体D物是概念体B物的特殊化,而概念体B物是概念体D物的一般化。举例来说,水果是苹果、橘子、芒果与其他水果的一般化。

在面向对象程序设计里,is-a类关系是在继承概念的背景之下所形成的。有一说法是,对于所有水果来说,苹果继承(英语:inherit)所有的属性,就像是肉质多的水果包住种子般。

is-ahas-a两者是不同的对比,是以整体-附属阶层关系所组成的。也可以是instance-of的对比:请参考型态与个例的区别。

在真实世界里设计一个模型时(例如计算机程序),尤其是物件与它的下一层从属物件,在has-ais-a两者的关系上容易产生概念上的错误。

其他条目

  • Has-a
  • Subsumption
  • 继承
  • 子类型
  • Liskov代换原则
  • Hyponym

参考资料

  • Ronald J. Brachman; What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks. IEEE Computer, 16 (10); October 1983
  • Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57

上一篇:SxS

猜你喜欢

相关推荐