КОНТЕЙНЕРЫ В МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ
Объектно-ориентированные языки поддерживают три базовых принципа объектной технологии:
1) инкапсуляция
2) наследование
3) полиморфизм
Принцип инкапсуляции. В основе любого объектного языка лежит принцип инкапсуляции. Этим термином обозначается способность языка скрывать второстепенные детали реализации от пользователя объекта.
Принцип наследования. В объектно-ориентированных языках можно моделировать связь путём объявления базового класса и производного от него. Классы связываются посредством классического наследования («А есть В») или с помощью модели контейнеров («А содержит В»). В любом случаи наследование всегда предполагает, что один класс является специальной формой другого.
Отношение «А есть В»: классическое наследование. В классическом наследовании подкласс перенимает существующую функциональность базового класса.
Отношение «А содержит В»: контейнеры и делегирование. Другой способ наследования является реализация отношения «А содержит В» и известен также как модель контейнеризации/делегирования (containment/delegation).
Принцип полиморфизма. Полиморфизм позволяет связанным классам единым образом реагировать на одинаковые сообщения. Так же как и с наследованием, существуют две формы полиморфизма - классический и конкретный (adhoc) полиморфизм.
Классический полиморфизм поддерживается только теми языками, которые поддерживают классическое наследование. Оба принципа тесно связаны друг с другом.
Рассматривая возможность агрегации нескольких объектов в новый класс - контейнер, необходимо определить основы агрегации. Каждый объект обладает некоторым декларированным интерфейсом, с помощью которого с ним могут взаимодействовать другие объекты. Контейнер, имея в своём составе некоторое множество объектов, может предоставлять вовне весь интерфейс вложенных объектов или только его часть. Совокупность интерфейсов, которые использует контейнер у вложенного объекта, назовём ролью вложенного объекта. Несколько вложенных объектов могут играть одинаковые или различные роли в одном и том же контейнере.
Понятие роли объекта не менее важно для агрегации, чем формальные параметры подпрограмм в структурном программировании. Это положение исходит из того, что понятие роли вводит виртуальность объектов в контейнере. Действительно, можно с полным правом сказать, что контейнер агрегирует объекты, способные выступать в таких-то ролях, то есть, объектов, имеющих некоторую определённую совокупность интерфейсов.
Понятие роли динамично, поскольку оно позволяет непосредственно при работе системы объявить ролью некоторый набор интерфейсов и потребовать от системы список классов, объекты которых способны выступать в данной роли. Для примера можно рассмотреть класс, который имеет интерфейсы A, B, C, D и F. В роли «альфа» объединим интерфейсы A и B, в роли «бета» - интерфейсы B, C и F, в роли «гамма» - A, C и D и т.д. Понятно, что подклассы всегда могут выступать в тех ролях. Однако, благодаря тому, что полиморфизм является понятием независимым от наследования (обратное неверно), то справедливо будет и утверждение, что классы, не находящиеся в наследственной связи, тоже способны играть одну и ту же роль.
Простота и удобство механизма виртуальности объектов в контейнере позволяют существенно облегчить разработку сложных систем за счёт перехода от упрощенных опытных моделей к промышленным образцам. С другой стороны, на основе данного вида виртуализации можно моделировать и реальную эволюцию сложных систем, например, биологических, технических, социальных. Однако, как будет отмечено ниже, такие требования не являются непреодолимыми, поскольку, с одной стороны, контейнеры существенно упрощают вложенные классы, в том числе и спецификации интерфейсов, а, с другой стороны, наследование контейнеров, как обычных классов, приводит и к наследованию функционала, который представим в виде ролей вложенных объектов. И, наконец, у контейнеров, как и любых других классов можно будет «наращивать» функциональность по мере необходимости, повышая возможности системы. Поэтому можно установить порядок разработки контейнера, определяя тем самым приоритеты реализации ролей, то есть интерфейсов вложенных классов.
Отметим, что на основе механизма сборки программ из объектов в процессе выполнения программ можно даже предложить способ создания новых типовых элементов построения программ, названных «кубиками» из уже созданных «кубиков».
Статья в формате PDF
156 KB...
04 06 2023 12:41:10
Статья в формате PDF
3150 KB...
03 06 2023 20:37:58
02 06 2023 0:54:24
Статья в формате PDF
106 KB...
31 05 2023 17:20:59
Исследованы изменения физиологических показателей школьников в условиях их работы за компьютером в течение учебного года. Дан сравнительный анализ изменений физиологических показателей школьников, отличающихся эмоциональной устойчивостью. Получены результаты, свидетельствующие о нeблагоприятном влиянии условий работы за компьютером на школьников младших классов осенью и весной.
...
30 05 2023 13:57:51
Статья в формате PDF
297 KB...
29 05 2023 0:46:21
Исследовано влияние постоянного магнитного поля на морфо-функциональное состояние костной ткани крыс в условиях повышенной резорбции. Показано, что воздействие на животных постоянным магнитным полем 9 мТл предотвращает деградацию коллагена и потерю костной массы у крыс, подвергавшихся действию высокой температуры, и не влияет на состояние костной ткани интактных животных.
...
27 05 2023 12:44:28
Статья в формате PDF
105 KB...
26 05 2023 18:20:27
Статья в формате PDF
204 KB...
24 05 2023 1:21:17
Статья в формате PDF
133 KB...
23 05 2023 23:15:19
Статья в формате PDF
193 KB...
22 05 2023 1:11:53
Статья в формате PDF
195 KB...
21 05 2023 15:48:13
Изучены видовой состав и экобиоморфы лишайников, проведена комплексная оценка роли экологических факторов в развитии лишайникового покрова карстовых воронок на территории Северо-Западного Кавказа.
...
20 05 2023 2:50:50
Статья в формате PDF
120 KB...
19 05 2023 21:25:19
Статья в формате PDF
106 KB...
18 05 2023 10:42:29
Статья в формате PDF
327 KB...
17 05 2023 2:47:23
Статья в формате PDF
233 KB...
15 05 2023 4:12:43
Статья в формате PDF
278 KB...
14 05 2023 19:11:35
Статья в формате PDF
262 KB...
13 05 2023 13:31:31
Статья в формате PDF
109 KB...
11 05 2023 4:54:48
Статья в формате PDF
108 KB...
10 05 2023 19:21:50
В статье рассмотрен прцесс химического никелирования деталей машин и оборудования как эффетивный и экономически выгодный способ получения стойких покрытий. Предлагается внедрить этот процесс в технологию восстановления деталей автотpaкторной техники из алюминиевых сплавов.
...
09 05 2023 2:47:21
Статья в формате PDF
106 KB...
08 05 2023 8:32:51
Статья в формате PDF
112 KB...
07 05 2023 18:53:59
Статья в формате PDF
267 KB...
06 05 2023 5:16:59
Статья в формате PDF
294 KB...
05 05 2023 14:48:26
Статья в формате PDF
103 KB...
04 05 2023 12:59:14
Статья в формате PDF
132 KB...
03 05 2023 9:48:27
Статья в формате PDF
109 KB...
02 05 2023 3:55:45
Понимание физико-химической природы генерации нервного сигнала, путей передачи информации с одной нервной клетки на другую или на мышечную клетку позволит вплотную подойти к объяснению механизма деятельности нервной системы. Нервные клетки передают информацию с помощью сигналов, представляющие собой электрические токи, генерируемой поверхностной мембраной нейрона. Эти токи возникают благодаря движению зарядов, принадлежащих ионам натрия, калия, кальция и хлора.
...
01 05 2023 20:12:26
Статья в формате PDF
105 KB...
30 04 2023 18:43:25
Статья в формате PDF
120 KB...
29 04 2023 6:45:26
Статья в формате PDF
393 KB...
28 04 2023 20:37:27
Статья в формате PDF
330 KB...
27 04 2023 12:20:43
Исследовано распространение нелинейных поверхностных гравитационных электрокапиллярных волн на поверхности жидкого проводника. Библиогр. 6 назв.
...
26 04 2023 19:55:38
Статья в формате PDF 278 KB...
25 04 2023 22:21:33
Статья в формате PDF
119 KB...
24 04 2023 15:41:15
Статья в формате PDF 112 KB...
23 04 2023 1:31:54
Статья в формате PDF
111 KB...
22 04 2023 19:36:31
Статья в формате PDF
123 KB...
21 04 2023 9:57:23
Статья в формате PDF
369 KB...
20 04 2023 7:27:41
Статья в формате PDF
127 KB...
19 04 2023 3:33:57
Статья в формате PDF
277 KB...
18 04 2023 20:17:29
Статья в формате PDF
293 KB...
17 04 2023 19:30:48
Статья в формате PDF
137 KB...
16 04 2023 3:54:23
Еще:
Поддержать себя -1 :: Поддержать себя -2 :: Поддержать себя -3 :: Поддержать себя -4 :: Поддержать себя -5 :: Поддержать себя -6 :: Поддержать себя -7 :: Поддержать себя -8 :: Поддержать себя -9 :: Поддержать себя -10 :: Поддержать себя -11 :: Поддержать себя -12 :: Поддержать себя -13 :: Поддержать себя -14 :: Поддержать себя -15 :: Поддержать себя -16 :: Поддержать себя -17 :: Поддержать себя -18 :: Поддержать себя -19 :: Поддержать себя -20 :: Поддержать себя -21 :: Поддержать себя -22 :: Поддержать себя -23 :: Поддержать себя -24 :: Поддержать себя -25 :: Поддержать себя -26 :: Поддержать себя -27 :: Поддержать себя -28 :: Поддержать себя -29 :: Поддержать себя -30 :: Поддержать себя -31 :: Поддержать себя -32 :: Поддержать себя -33 :: Поддержать себя -34 :: Поддержать себя -35 :: Поддержать себя -36 :: Поддержать себя -37 :: Поддержать себя -38 ::