Is-a

知识表示面向对象程序设计面向对象设计的领域里,

is-a(英语subsumption,包含架构)指的是类的父子继承关系,

例如类D是另一个类B的子类(类B是类D的父类)。

 

换句话说,通常"Dis aB"(BD包含在内,或是D被包含在B内)指的是,概念体D物是概念体B物的特殊化,而概念体B物是概念体D物的一般化。举例来说,水果苹果橘子芒果与其他水果的一般化。
面向对象程序设计里,is-a类关系是在继承概念的背景之下所形成的。有一说法是,对于所有水果来说,苹果继承(英语inherit)所有的属性,就像是肉质多的水果包住种子般。
is-ahas-a两者是不同的对比,是以整体-附属阶层关系所组成的。也可以是instance-of的对比:请参考型态与个例的区别。
在真实世界里设计一个模型时(例如计算机程序),尤其是物件与它的下一层从属物件,在has-ais-a两者的关系上容易产生概念上的错误。
posted @ 2019-03-27 20:55  lilixia  阅读(299)  评论(0编辑  收藏  举报