NexusSmallErp: ПолиморфизмМ ...

Glavnaja Stranica | Каталог | Изменения | НовыеКомментарии | Пользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Полиморфизм


На сегодняшний день стандартное понимание отношений классов оперирует практически только правилами наследования классов. Т.е. дочерний класс наследует свойства родительского класса.Такая иерархия классов присутствует и в технологии Nexus. Но дополнительно к этому, предварительно описав схему отображения, можно преобразовывать объекты одного класса в объекты другого без иерархического подчинения классов, что представляет собой реализацию качественно новых классовых отношений – полиморфных или полиморфизма.


Полиморфизм является отношением между объектами классов и определяет способность превращения объектов одного класса в объекты другого. Причем как было сказано ранее превращение не зависит от иерархического дерева классов, а является только функцией от карты отображения столбцов таблиц классов друг в друга. В общем случае превращение из ‘любого класса – в любой’ становится неподъемной: карту отображения построить сложно и операции преобразования и отката преобразованного усложняются.


Решение задачи полиморфизма в общем виде мне неизвестна. Здесь реализована частная задача полиморфизма для простого класса с гридом и полиморфизмом в виде цепочки классов (or nexus polymorphism). Объекты классов могут преобразовываться, но не произвольно, а только от PRE класса к рассматриваемому, и от рассматриваемого – к POST классу. Создав таким образом ряд полиморфических классов и определив для каждого PRE и POST карты отображения можно строить цепочечные схемы превращения объектов классов какой угодно сложности и длины.



Для полиморфических классов введены групповые операции преобразования из класса PRE в текущий класс и из текущего класса в POST класс и обратно, которые появляются в меню свойств над документами описания классов, и одиночные операции преобразования, которые появляются в меню свойств над документами объектов классов.



Таким образом, если в папке четвертый класс были документы 10,11,12 а в папке пятый класс документы 13,14,15, то после групповой операции из четвертого в пятый в папке пятый класс будут шесть документов 10,11,12,13,14,15.



Конечно, здесь дана только простейшая принципиальная схема превращения и практические ситуации столь разнообразны, что трудно найти универсальную модель поведения объектов классов. Но никто и не претендует здесь на общее решение поставленных задач. Тот практический костяк, который здесь дается, при небольших усилиях разработчиков, может быть модифицирован под конкретную задачу.


52


Как тот богач, имею я всегда
Ключ от сокровища души моей.
Но, как всегда, теряю иногда
Его я в суете текущих дней.


Поэтому желанны и редки,
Как праздники в текущем ряде лет,
Находки удовольствия деньки,
Свободы драгоценнейший предмет.


Подобно времени, хранящему тебя
От плесени душевного безделья,
Вдруг некто, ключ твоей души найдя,
Блистает бриллиантом в ожерельи.


Живу надеждою, когда лишен
И в торжестве, найдя, свободой одарен.



 
Много файлов (3). [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]

Рейтинг@Mail.ru Яндекс цитирования Арбинада - софтотворение и софтостроение