Шаг 59.
Составные части объектного подхода. Иерархия

    На этом шаге мы рассмотрим иерархию.

   


    При разработке сложных программных комплексов число абстракций может быть очень велико. Инкапсуляция позволяет в определенной степени устранить этот недостаток, спрятав внутреннее содержание абстракций. Модульность также упрощает задачу, объединяя в группы логически связанные абстракции. Однако значительное упрощение достигается за счет образования из абстракций иерархической структуры.

    Основными видами иерархических структур являются структура классов (иерархия is a - это есть) и структура объектов (иерархия part of - часть).

  1. Структура классов. Важным элементом объектно-ориентированных систем и иерархии is a является концепция наследования. Наследование означает такое отношение между классами (отношение родитель/потомок), когда один класс заимствует структуру или функциональную часть одного или нескольких других классов (соответственно, одиночное и множественное наследование). Наследование создает такую иерархию абстракций, в которой подклассы наследуют строение одного или нескольких суперклассов.

       

  2. Структура объектов. В некоторых случаях при описании класса могут использоваться другие классы, выступающие составными частями создаваемого класса. Поясним сказанное на конкретном примере:
        class A {…};
        class B {
          public:
            B();
           .   .   .   .
          protected:
            A aA[100];//Класс А - составная часть класса В.
          .   .   .   .
        };
    

        Такого типа иерархия имеется во всех языках, использующих структуры или записи, состоящие из разнотипных данных. Но в ООП она позволяет физически сгруппировать логически связанные структуры, а наследование копирует их в различные абстракции.

    На следующем шаге мы рассмотрим типизацию.




Предыдущий шаг Содержание Следующий шаг