Композиция предметов

Композиция объекта Определение и примеры композиции Композиция — это объединение объектов в составные объекты с инкапсуляцией.  Композиция отличается от структур […]

Композиция объекта

  • Определение и примеры композиции

    • Композиция — это объединение объектов в составные объекты с инкапсуляцией. 
    • Композиция отличается от структур данных, которые не обеспечивают инкапсуляцию. 
    • Композиция может включать группу связанных объектов, таких как набор или последовательность. 
  • Отличия от других концепций

    • Делегирование обогащает композицию, переадресуя запросы к внутренним компонентам. 
    • В объектно-ориентированных языках типы делятся на составные и несоставные, а композиция рассматривается как отношение между типами. 
    • Изучение отношений «часть-целое» называется мереологией. 
    • Композиция отличается от подтипирования, которое добавляет детали к общему типу данных. 
    • В языках программирования, основанных на прототипах, объекты могут динамически наследовать поведение прототипа. 
  • Моделирование в UML

    • В UML объекты могут быть концептуально составлены независимо от реализации. 
    • Существуют четыре способа компоновки объектов в UML: свойство, ассоциация, агрегация и композиция. 
    • Агрегация отличается от обычной структуры тем, что не подразумевает права собственности. 
    • Композиция обычно реализуется путем содержания одного объекта другим. 
  • Специальные формы композиции

    • Сдерживание — это композиция, которая используется для хранения нескольких экземпляров составного типа данных. 
    • Рекурсивная композиция — это объекты, которые могут быть составлены рекурсивно. 
    • Составной узор — это объектно-ориентированный дизайн, сочетающий рекурсивную композицию и сдерживание. 
  • Хронология композиции на разных языках

    • C называет запись struct или структурой, в то время как объектно-ориентированные языки часто хранят свои записи внутри объектов. 
    • COBOL был первым широко распространенным языком, который поддерживал записи. 
    • Common Lisp предоставляет структуры и классы, а Fortran 77 имеет массивы, но не формальные определения записей. 
    • Ada 95 и Ada 2012 добавили поддержку проверки замены с помощью общеклассовых контрактов. 

Полный текст статьи:

Композиция предметов — Википедия

Оставьте комментарий

Прокрутить вверх