Пример 11.10. Класс _child

(defclass _fgf (is-a USER));отец отца

(defclass _fgm (is-a USER));мать отца

(defclass _father (is-a _fgm _fgf))

(defclass _mgm (is-a USER));мать матери

(defclass _mgf (is-a USER));отец матери

(defclass _mother (is-a _mgm _mgf))

(defclass _child (is-a _mother _father))

Выполните команду (describe-class _child). Полученный результат должен соответствовать рис. 11.2.

Рис. 11.2. Списков предшествования классов для класса _child

Команда describe-class выводит на экран довольно много информации о заданном классе. Значение этой информации станет более понятно по мере изучения различных свойств конструктора defclass и обработчиков сообщений. Сейчас обратите внимание только на список непосредственных суперклассов (Direct Superclasses) и на список предшествования классов (Inheritance Precedence) для _child.

Абстрактные и конкретные классы

С помощью спецификатора роли класса можно задать роль для класса, создаваемого конструктором defclass. Класс может быть либо абстрактным, либо конкретным.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: