Вверх ↑
Администрация
Ответов: 15294
Рейтинг: 1518
#1: 2009-04-08 00:28:18 ЛС | профиль | цитата
   Собственно новая она для пользователя, потому что именно на такое поведение и была расчитано данная технология. Теперь о том, какие изменения в его работе произошли

Наследование родительского контрола
   Данное изменение касается только интерфесных полиморфов (панели, формы, вкладки и проч.). Теперь все наследники базового класса(с имененм 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).
карма: 26
1
файлы: 2code_12639.txt [1.5KB] [432], code_12640.txt [1.8KB] [419]
Голосовали:Konst