Пример 11.22. Использование грани источника

(defclass A (is-a USER)

(role concrete)

(slot foo (default A)))

(defclass В (is-a A)

(slot foo))

(defclass С (is-a A))

(slot foo (source composite)))

Создайте экземпляры объектов всех трех классов и просмотрите содержа­щиеся в них слоты и их значения с помощью стандартного сообщения print. Вы должны получить результат, идентичный приведенному на рис. 11.8.

Рис. 11.8. Просмотр слотов классов А, В и С

В данном примере класс а определяет слот foo со значением по умолчанию для слота foo, равным а. Классы BиC являются наследниками класса а, и оба переопределяют слот foo. Однако, в отличие от класса B, класс С определяет для слота foo грань source со значением composite. Таким образом, слот foo класса С получает значение по умолчанию, определенное в классе-предке А.


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



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