Is-a

知识表示面向对象程序设计面向对象设计的領域裡,is-a(英語:subsumption,包容)指的是在抽象(比如類別类型)之间體現的包容關係。例如類別D是另一個類別B的子類別(類別B是類別D的父類別),則D被包容在B內。換句話說,通常"D is a B"指的是,概念體D物是概念體B物的特殊化,而概念體B物是概念體D物的广泛化[1]。舉例來說,水果苹果橘子芒果與其他水果的广泛化。

面向对象程序设计裡,is-a類別關係是在繼承概念的背景之下所形成的。比如說,苹果繼承(英語:inherit)水果的所有的屬性。is-a對比於has-a,後者是以整體-附屬階層關係所組成的。在真實世界裡設計一個模型時(例如计算机程序),尤其是物件與它的下一層從屬物件,在has-a與is-a兩者的關係上容易產生概念上的錯誤。is-a還可以是對比於instance-of,详情可參考类型和个例的区别

  1. ^ Subtypes and Subclasses (PDF). MIT OCW. [2 October 2012]. (原始内容存档 (PDF)于2020-08-26). 

Developed by StudentB