Абстрагирование - механизм, связывающий вместе код и данные, которыми он манипулирует, и защищающий их от внешних помех и некорректного использования:
Агрегация обеспечивает отношения "целое-часть", объявляемые для экземпляров классов:
Агрегация обозначает отношения объектов в иерархии "целое/часть":
Ассоциации обеспечивают взаимодействия объектов, принадлежащих разным классам:
Ассоциация обозначает только семантическую связь, она не указывает направление и точную реализацию отношения:
Зависимость - отношение, которое показывает, что изменение в одном классе (независимом) может влиять на другой класс (зависимый), который использует его:
Иерархическая организация задает размещение абстракций на различных уровнях описания системы:
Инкапсуляция - описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл):
Инкапсуляция - процесс, с помощью которого один объект приобретает свойства другого, т. е. поддерживается концепция иерархической классификации:
Каждая абстракция фиксирует основные характеристики объекта, которые отличают его от других видов объектов и обеспечивают ясные понятийные границы:
Класс - физическое или понятийное соединение между объектами:
Объект - конкретное представление абстракции:
Определение классов и объектов выполняется в ходе логической разработки, а определение модулей - в ходе физической разработки системы:
Отношения агрегации между классами аналогичны отношениям агрегации между объектами:
Поведение характеризует то, как объект воздействует на другие объекты (или подвергается воздействию) в терминах изменений его состояния и передачи сообщений:
Полиморфизм - возможность с помощью одного имени обозначать операции из различных классов:
При наследовании нижний элемент иерархии (подкласс) имеет меньший уровень сложности (меньшие возможности), при агрегации - наоборот:
Протокол определяет оболочку допустимого поведения объекта и поэтому заключает в себе цельное (статическое и динамическое) представление объекта: