Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 13.01.2012, 17:20
vav2001 вне форума Посмотреть профиль Отправить личное сообщение для vav2001 Найти все сообщения от vav2001
  № 1  
vav2001

Регистрация: Jan 2012
Сообщений: 9
Question переопределить функцию у sprite

Ребят просветите, сам пишу на С++ но пришлось столкнуться компиляцией проекта на ActionScript 3. Прочел немного книжку Мука по работе с классами для понимания дела, но вот в чем суть вопроса .....

не получается переопределить функцию от родительского класса
Код AS3:
import flash.display.*;
internal class MyParameter extends flash.display.Sprite
{
  public override function set width(arg1:Number):void
  {
    return;
  }
}
Пишет: 1020: Метод, который помечен на переопределение, должен переопределять другой метод. ??


Последний раз редактировалось alexcon314; 13.01.2012 в 17:47.
Старый 13.01.2012, 17:55
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 2  
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Код AS3:
import flash.display.Sprite;
 
internal class MyParameter extends Sprite {
 
   public override function set width (value:Number) : void {
   //return то зачем?
   }
}

Старый 13.01.2012, 17:55
Stitch512 вне форума Посмотреть профиль Отправить личное сообщение для Stitch512 Найти все сообщения от Stitch512
  № 3  
Stitch512

Регистрация: Nov 2010
Сообщений: 150
этот код рабочий, ошибка в другом месте

Старый 13.01.2012, 17:59
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 4  
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
А разве override не должно стоять перед public?
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 13.01.2012, 18:02
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Разницы нет. Я бы сделал ставку на неверное точное соблюдение сигнатуры. arg1 != value
__________________
тут я

Старый 13.01.2012, 18:10
Stitch512 вне форума Посмотреть профиль Отправить личное сообщение для Stitch512 Найти все сообщения от Stitch512
  № 6  
Stitch512

Регистрация: Nov 2010
Сообщений: 150
arg1 или value - разницы нет.

Старый 13.01.2012, 18:30
vav2001 вне форума Посмотреть профиль Отправить личное сообщение для vav2001 Найти все сообщения от vav2001
  № 7  
vav2001

Регистрация: Jan 2012
Сообщений: 9
да ребят вы правый код рабочий, пока шла модерация я это уже понял. просто пример кода упростил здесь чтобы понятней было. на самом деле класс наследовался 2 раза, и на первом наследовании был как internal находясь в другом сегменте...

странно другое, что это готовый чужой проект и ведь раньше как-то работал с таким опредением, но пришлось исправить на public.
лично я пользуюсь Flash Builder 4.6

еще маленький вопрос в чем назначение set и get в определении функций public function get ..... ?

Старый 13.01.2012, 18:34
Deimos747 вне форума Посмотреть профиль Отправить личное сообщение для Deimos747 Найти все сообщения от Deimos747
  № 8  
Deimos747
 
Аватар для Deimos747

Регистрация: Mar 2011
Сообщений: 243
В документации Adobe что-то абстрактное
Код:
1020	Метод, помеченный как override, имеет приоритет над другими методами.
Есть немного бредовая идея: попробуйте переопределить и get-метод

Старый 13.01.2012, 18:46
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 9  
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от Deimos747 Посмотреть сообщение
Есть немного бредовая идея: попробуйте переопределить и get-метод
Граждане, не забивайте голову догадками. Код полностью рабочий. Только что сам проверил. Я так полагаю что vav2001 выложил не весь свой код. И уверен что проблема совсем не в этих строках.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 13.01.2012, 18:48
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 10  
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
		override public function set width(value:Number):void
		{
			super.width = value;
		}
Норм проканало, в чем проблема то?
__________________
Кто к нам с чем для чего - тот у нас того от того.

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 21:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.