Основы функционального программирования

Множественное наследование


До сих пор речь шла о простом наследовании — объект имел только одного предка. Но можно получать и множественное наследование построением списка свойств предков со слегка измененной rget. При простом наследовании, когда нам надо выбрать некоторое свойство объекта, мы сразу рекурсивно ищем его предшественников. Если собственно объект не содержит искомую информацию, мы обозреваем его предка и т.д. При множественном наследовании мы делаем примерно то же самое, но работа усложняется тем, что предшественники объекта могут образовывать граф вместо дерева.

При реализации такой идеи не следует проверять объект ранее его последователей (a b c d):

(d) / \ (b) (c) \ / (a)

Если это сделать прямым сцеплением списков, то результат слишком неэффективен.



Содержание раздела