Читайте также:
|
|
3. Модульность — принцип разработки программной системы, предполагающий реализацию ее в виде отдельных частей (модулей). При выполнении декомпозиции системы в модулях желательно объединять ее логически связанные части, по возможности обеспечивая сокращение количества внешних связей между модулями.
4. Иерархичность — ранжирование или упорядочение системы абстракций. В ООП используются два вида иерархии.
· «Целое-часть» — некоторые абстракции включаются в рассматриваемую абстракцию как ее части. Этот вариант используется в процессе разбиения системы на разных этапах проектирования (на логическом уровне — при декомпозиции предметной области на объекты, на физическом уровне — при декомпозиции системы на модули и при выделении отдельных процессов в системе).
· «Общее-частное» — некоторая абстракция является частным случаем другой абстракции. Этот вариант используется при разработке структуры классов, когда сложные классы строятся на базе более простых путем добавления к ним новых характеристик и, возможно, уточнения имеющихся.
Соотношение между абстракциями в иерархии «общее-частное», когда одна из них использует структурную или функциональную часть другой или нескольких других абстракций называется НАСЛЕДОВАНИЕМ.
5. Типизация — ограничение, накладываемое на свойства объектов и препятствующее (или сильно сужающее возможность) взаимозаменяемости абстракций различных типов. Использование принципа типизации обеспечивает:
· раннее обнаружение ошибок (на этапе компиляции), связанных с недопустимыми операциями над программными объектами;
· упрощение документирования;
· возможность генерации более эффективного кода.
Тип может связываться с программным объектом статически (на этапе компиляции — раннее связывание) и динамически (во время выполнения программы — позднее связывание).
Дата добавления: 2015-07-25; просмотров: 93 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Основные принципы объектно-ориентированного программирования | | | Состав класса, его размер должен определяться не архитектурными соображениями, а той абстракцией данных, которую должен реализовать класс. |