В представленні знань, об'єктно-орієнтованому програмуванні, is-a це тип відношень між деякими класами D та B, коли D є підкласом (нащадком) класу B (B, в свою чергу, є базовим класом або суперкласом класу D)

Іншими словами, коли говорять «D is-a B» зазвичай мають на увазі, що Dспеціалізація B, а Bузагальнення D. Наприклад, поняття «фрукт» є узагальненням для понять «яблуко», «апельсин» та інших. Можна говорити, що яблуко is-a фрукт.

В об'єктно-орієнтованому програмуванні відношення is-a застосовується у контексті наслідування. Можна сказати, що «яблуко» може наслідувати всі властивості, які є у всіх фруктів.

Відношення is-a протиставляється відношенню has-a[1], яке утворює дерево відношень — мерономію, або партономію.

У процесі конструювання моделі реального світу (наприклад, комп'ютерна програма) розповсюдженою помилкою є невірний вибір між відношеннями has-a та is-a.

Див. також ред.

Література ред.

  • Fowler, Martin. UML distilled: a brief guide to the standard object modeling language (вид. 3., 16. printing). Boston, Mass.: Addison-Wesley. ISBN 0-321-19368-7.
  • Pender, Thomas A.; Pender, Tom (2003). UML bible. Indianapolis, Ind: Wiley. ISBN 0-7645-2604-9.

Примітки ред.

  1. Composition vs Inheritance. www.digitalocean.com (англ.). DigitalOcean. Процитовано 17 вересня 2023.