![]() |
переопределение классов override
До сего дня не когда не пользовался переопределением классов ( не считая event ), а создавал класс и в нем уже собирал нужные свойства от нужного класса и так далее. Но сегодня решил попробовать и сразу конфуз,
то ли я не так понимаю, то ли не так, что то делаю. Выручайте. Нужно применить TextFormat с к нескольким полям и я решил расширить его и в нем написал: ниже. Затем я переопределил свойство setTextFormat и создал сам экземпляр класса TextView и присвоил его свойству text текст. У меня была надежда, что у меня текст будет белого цвета. Но нет. В чем моя ошибка? Код AS3:
Код AS3:
|
Покажите полный код, что вы делаете в основном классе? В классе FormatView вы переопределили метод set, если вы извне не вызвали метод format.color = xxx, то цвет не станет белым. А вообще, вам бы почитать литературу про ООП.
|
maincode то есть мой вариант "некакой"?) Жаль...Смысл тогда полностью отпадает...
|
Зачем переопределять класс если вам нужно только цвет изменить? создайте экземпляр TextFormat и задайте ему значение .color=0xffffff. Какую задачу пытаетесь решить? дайте больше информации :)
|
Основная Задача - нескольким текстовым полям, задать определённый стиль ( очень много из TextFormat )
Второстепенная Задача - научится переопределять. На счёт "смысла" я немного не подумал, разницы особой нет. В место класса TextView можно просто TextField создавать, у которого появится свойство setTextFormat и применять его ко всем экземплярам, но упрощения, которого я пытался добиться ( не писать много раз setTextFormat, вручную или циклом ) нет. А ещё mouseEnabled к каждому полю писать... |
Что-то я не понял — это что, компилится?
Компилятор не может позволить ТАК оверрайдить метод. При оверрайде сигнатура метода не может быть изменена. Новый setTextFormat никак не может принимать Ваш кастомный FormatView. |
Цитата:
в конструкторе: Код AS3:
Спасибо! разобрался. |
При переопределении как и в Interface - сигнатура метода должна быть идентична в соответствующих методах класса.
|
| Часовой пояс GMT +4, время: 22:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.