Упражнения
1. Чем отличаются объектно-ориентированные языки программирования от обычных процедурных языков?
2. В чем состоит отличие между конкретными и абстрактными классами?
3. Почему при множественном наследовании иерархическая структура превращается в гетерархическую?
4. В чем состоит проблема наложения методов при множественном наследовании?
5. Что такое метакласс и в чем польза применения такой конструкции?
6. Что понимается под термином "список предшествования классов"? 7. Рассмотрите схему отношений между классами на рис. 7.9.
Используя конструкцию def class языка CLIPS, опишите эту структуру классов таким образом, чтобы соблюдался следующий порядок наследования в классах, имеющих несколько суперклассов:
wkg-man: (man worker) father: (parent man)
wkg-woman: (worker woman) mother: (parent woman)
wkg-father: (wkg-man father)
wkg-raother: (mother wrk-woman)
Начните с класса person:
(defclass person (is-a USER) (role concrete))