Собственно новая она для пользователя, потому что именно на такое поведение и была расчитано данная технология. Теперь о том, какие изменения в его работе произошли
Наследование родительского контрола
Данное изменение касается только интерфесных полиморфов (панели, формы, вкладки и проч.). Теперь все наследники базового класса(с имененм base) не создают собственный элемент управления, а наследуют его от родителя. Из этого вытекают две новые особенности работы интерфейсного полиморфа:
- все незаданные свойства дочернего контрола инициализируются свойствами базового контрола
- все неслинкованные точки Event и Data дочернего контрола линкуются с соответствующими точками базового контрола (если таковые заданы)
к рассмотрению предлагается пример ниже
code_12639.txt
- тут первую особенность можно увидеть на примере свойств Color и Caption - так зеленый цвет, заданный у базового контрола был унаследован всеми дочерними панелями, а текст надписи "test" был унаследован только классом p2, класс же p1 переопределил это свойство на "other caption"
- вторую особенность можно увидеть, если покликать в области панелей - у панелей классов base и p1 выводится сообщение "hello from base", в то время как у переопределенного события из панели класса p2 выводится "hello from p2"
доступ к унаследованным элементам полиморфа
Эта возможность присутствует у всех полиморфов. Ее использование связано с новым элементом среды PolyGate. Если коротко, то данный элемент позволяет вызывать методы базового класса или использовать данные из базового класса. Рассмотрим пример:
code_12640.txt
в примере в классах p1 и p2 размещены кнопки, которые при клике на них отправляют текстовое сообщение в базовый класс, который в свою очередь выводит это сообщение на экран в диалоговом окне.
вместо итога
Ввиду всего выше изложенного интересно ваше представление и понимание технологии, как пользователей не знакомых с внутренним устройством описанных механизмов (кто не в курсе - полиморфы это переложение классического ООП в рамки концепции HiAsm).
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
файлы: 2 | code_12639.txt [1.5KB] [484], code_12640.txt [1.8KB] [485] | ||
Голосовали: | Konst |