КОНТЕЙНЕРЫ В МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ
Объектно-ориентированные языки поддерживают три базовых принципа объектной технологии:
1) инкапсуляция
2) наследование
3) полиморфизм
Принцип инкапсуляции. В основе любого объектного языка лежит принцип инкапсуляции. Этим термином обозначается способность языка скрывать второстепенные детали реализации от пользователя объекта.
Принцип наследования. В объектно-ориентированных языках можно моделировать связь путём объявления базового класса и производного от него. Классы связываются посредством классического наследования («А есть В») или с помощью модели контейнеров («А содержит В»). В любом случаи наследование всегда предполагает, что один класс является специальной формой другого.
Отношение «А есть В»: классическое наследование. В классическом наследовании подкласс перенимает существующую функциональность базового класса.
Отношение «А содержит В»: контейнеры и делегирование. Другой способ наследования является реализация отношения «А содержит В» и известен также как модель контейнеризации/делегирования (containment/delegation).
Принцип полиморфизма. Полиморфизм позволяет связанным классам единым образом реагировать на одинаковые сообщения. Так же как и с наследованием, существуют две формы полиморфизма - классический и конкретный (adhoc) полиморфизм.
Классический полиморфизм поддерживается только теми языками, которые поддерживают классическое наследование. Оба принципа тесно связаны друг с другом.
Рассматривая возможность агрегации нескольких объектов в новый класс - контейнер, необходимо определить основы агрегации. Каждый объект обладает некоторым декларированным интерфейсом, с помощью которого с ним могут взаимодействовать другие объекты. Контейнер, имея в своём составе некоторое множество объектов, может предоставлять вовне весь интерфейс вложенных объектов или только его часть. Совокупность интерфейсов, которые использует контейнер у вложенного объекта, назовём ролью вложенного объекта. Несколько вложенных объектов могут играть одинаковые или различные роли в одном и том же контейнере.
Понятие роли объекта не менее важно для агрегации, чем формальные параметры подпрограмм в структурном программировании. Это положение исходит из того, что понятие роли вводит виртуальность объектов в контейнере. Действительно, можно с полным правом сказать, что контейнер агрегирует объекты, способные выступать в таких-то ролях, то есть, объектов, имеющих некоторую определённую совокупность интерфейсов.
Понятие роли динамично, поскольку оно позволяет непосредственно при работе системы объявить ролью некоторый набор интерфейсов и потребовать от системы список классов, объекты которых способны выступать в данной роли. Для примера можно рассмотреть класс, который имеет интерфейсы A, B, C, D и F. В роли «альфа» объединим интерфейсы A и B, в роли «бета» - интерфейсы B, C и F, в роли «гамма» - A, C и D и т.д. Понятно, что подклассы всегда могут выступать в тех ролях. Однако, благодаря тому, что полиморфизм является понятием независимым от наследования (обратное неверно), то справедливо будет и утверждение, что классы, не находящиеся в наследственной связи, тоже способны играть одну и ту же роль.
Простота и удобство механизма виртуальности объектов в контейнере позволяют существенно облегчить разработку сложных систем за счёт перехода от упрощенных опытных моделей к промышленным образцам. С другой стороны, на основе данного вида виртуализации можно моделировать и реальную эволюцию сложных систем, например, биологических, технических, социальных. Однако, как будет отмечено ниже, такие требования не являются непреодолимыми, поскольку, с одной стороны, контейнеры существенно упрощают вложенные классы, в том числе и спецификации интерфейсов, а, с другой стороны, наследование контейнеров, как обычных классов, приводит и к наследованию функционала, который представим в виде ролей вложенных объектов. И, наконец, у контейнеров, как и любых других классов можно будет «наращивать» функциональность по мере необходимости, повышая возможности системы. Поэтому можно установить порядок разработки контейнера, определяя тем самым приоритеты реализации ролей, то есть интерфейсов вложенных классов.
Отметим, что на основе механизма сборки программ из объектов в процессе выполнения программ можно даже предложить способ создания новых типовых элементов построения программ, названных «кубиками» из уже созданных «кубиков».
Статья в формате PDF
124 KB...
06 07 2022 16:30:41
Статья в формате PDF
139 KB...
05 07 2022 0:55:53
Статья в формате PDF
235 KB...
04 07 2022 22:28:17
Статья в формате PDF
101 KB...
02 07 2022 0:48:59
Статья в формате PDF
113 KB...
01 07 2022 16:13:16
Статья в формате PDF
292 KB...
30 06 2022 4:27:54
Статья в формате PDF
266 KB...
29 06 2022 0:52:51
Статья в формате PDF
108 KB...
27 06 2022 3:35:36
Статья в формате PDF
116 KB...
26 06 2022 0:25:59
Статья в формате PDF
204 KB...
25 06 2022 12:34:44
Статья в формате PDF
103 KB...
24 06 2022 21:28:22
Статья в формате PDF
103 KB...
23 06 2022 4:31:14
Статья в формате PDF
111 KB...
22 06 2022 9:39:50
Статья в формате PDF
107 KB...
21 06 2022 23:13:41
Статья в формате PDF
113 KB...
20 06 2022 22:52:34
Предложена октетная теория гравитации: 4-потенциал, зависимость силы гравитации от момента и его прецессии в недрах звезд, физических тел, частиц. Медленное удаление планет от звезды – связь со смещением их перигелия. Рождение "ощущаемой" материи и субпланет в ядре звезды. Обтекание падающим телом, равно как и лучами света, центра притяжения ввиду его нагруженности необратимыми термодинамическими процессами. Гравитационный коллапс – недоразумение, основанное на метафизическом понимании ограниченности всех скоростей скоростью света в физическом вакууме и игнорировании не только квантовых эффектов, но и реальных условий падения в плазму. Звезда – это отнюдь не "так просто" уже из-за различия пассивной и активной гравитационных масс. Аннигиляция генерируемой из эфира материи – неотъемлемое свойство физического мира и источник энергии звезд. Ввиду гармонического хаpaктера решений системы дифференциальных уравнений октетной теории гравитации, нет необходимости "склеивать" гравитацию и квантовую механику, как в континуалистской ОТО. Свойства решений зависит от величины констант, т.е. в конечном итоге от топологии и масштабов в прострaнcтве и необратимом физическом времени Т.
...
18 06 2022 19:47:45
Статья в формате PDF
183 KB...
16 06 2022 5:50:22
Статья в формате PDF 253 KB...
15 06 2022 21:25:23
Уникальность того или иного исторического события или явления определяется степенью его «вписанности» в процесс исторического развития. С этой точки зрения история Гражданской войны в России еще долгое время будет предметом жарких споров и многочисленных дискуссий как зарубежных, так и отечественных историков. Ведь, при изучении российской истории в период с 1917 по 1920 гг. сложно использовать как «военные», так и «гражданские» схемы анализа развития основных событий и процессов, они не могут дать исчерпывающего ответа на главный вопрос – почему личная безопасность человека и его выживания были главным мерилом всех ценностей российской государственности в 1917 – 1920 гг. Поэтому поиски ответов на сущностные проблемы понимания феномена Гражданской войны в России лежат в оценочных хаpaктеристиках современников революционных событий начала ХХ в., которые так или иначе связаны с определением государственной самоидентификации.
...
14 06 2022 12:53:32
Статья в формате PDF
325 KB...
13 06 2022 9:16:14
Статья в формате PDF 256 KB...
11 06 2022 14:44:53
Статья в формате PDF
371 KB...
10 06 2022 11:57:43
Статья в формате PDF
112 KB...
08 06 2022 21:31:34
Статья в формате PDF
321 KB...
07 06 2022 22:34:53
06 06 2022 3:17:14
05 06 2022 21:17:39
Статья в формате PDF
110 KB...
04 06 2022 17:23:23
Статья в формате PDF
123 KB...
03 06 2022 12:20:53
Статья в формате PDF
113 KB...
02 06 2022 3:55:52
Статья в формате PDF
105 KB...
01 06 2022 23:37:35
Статья в формате PDF
121 KB...
31 05 2022 13:22:20
Статья в формате PDF
306 KB...
30 05 2022 18:44:23
29 05 2022 7:39:54
Статья в формате PDF
112 KB...
27 05 2022 20:59:19
Статья в формате PDF
138 KB...
26 05 2022 1:52:56
Статья в формате PDF
143 KB...
25 05 2022 2:53:11
Статья в формате PDF
384 KB...
23 05 2022 4:57:51
Статья в формате PDF
126 KB...
22 05 2022 16:43:20
Статья в формате PDF
200 KB...
21 05 2022 5:10:51
Статья в формате PDF
120 KB...
18 05 2022 2:50:56
Еще:
Поддержать себя -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 ::