Шрифт:
Одно из преимуществ применения приема композиции в данном случае заключается в том, что требуется определить только один подкласс
Можно даже наложить еще один фильтр на фильтрованное множество:
9.7.4. Иерархии классов и абстрактные классы
В предыдущем разделе было предложено «предпочесть композицию наследованию». Но для иллюстрации этого принципа мы создали подкласс класса
Решение этой проблемы в классических объектно-ориентированных языках, а также в языке
Пример 9.16 развивает этот подход еще дальше и определяет иерархию абстрактных классов множеств. Класс
Пример 9.16 довольно объемен, но он заслуживает детального изучения. Обратите внимание, что для простоты создания подклассов в нем используется функция
Пример 9.16. Иерархия абстрактных и конкретных классов множеств