Is-a
В представленні знань, об'єктно-орієнтованому програмуванні, 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.
Примітки
ред.- ↑ Composition vs Inheritance. www.digitalocean.com (англ.). DigitalOcean. Процитовано 17 вересня 2023.