Собственно новая она для пользователя, потому что именно на такое поведение и была расчитано данная технология. Теперь о том, какие изменения в его работе произошли
Наследование родительского контрола
Данное изменение касается только интерфесных полиморфов (панели, формы, вкладки и проч.). Теперь все наследники базового класса(с имененм 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] [485], code_12640.txt [1.8KB] [485] | ||
Голосовали: | Konst |
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Dilma, а ты точно все обновления выложил, а то у меня PolyGate не запускается, пишит
|
|||
карма: 22 |
|
Ответов: 1328
Рейтинг: 69
|
|||
nesco писал(а): Dilma, а ты точно все обновления выложил, а то у меня PolyGate не запускается, пишитУ тоже и при удалении PolyGate - Access violation |
|||
карма: 2 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
nesco писал(а): обновлен HiAsm дообновление среды требуется последнее от 23:09 07.04.2009 |
|||
карма: 27 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Только что запустил, дата последнего обновления -- 19:14 06.04.2009. Так что проверь, может не выложился
|
|||
карма: 22 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
|
|||
карма: 6 |
| ||
файлы: 1 | svn_today.png [7.4KB] [533] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
да точно - описать описал, а вот отправить не отправил
|
|||
карма: 27 |
|
7