На этом шаге мы рассмотрим иерархию.
При разработке сложных программных комплексов число абстракций может быть очень велико. Инкапсуляция позволяет в определенной степени устранить этот недостаток, спрятав внутреннее содержание абстракций. Модульность также упрощает задачу, объединяя в группы логически связанные абстракции. Однако значительное упрощение достигается за счет образования из абстракций иерархической структуры.
Основными видами иерархических структур являются структура классов (иерархия is a - это есть) и структура объектов (иерархия part of - часть).
class A {…}; class B { public: B(); . . . . protected: A aA[100];//Класс А - составная часть класса В. . . . . };
Такого типа иерархия имеется во всех языках, использующих структуры или записи, состоящие из разнотипных данных. Но в ООП она позволяет физически сгруппировать логически связанные структуры, а наследование копирует их в различные абстракции.
На следующем шаге мы рассмотрим типизацию.