Переопределить геттеры/сеттеры у нативных классов

[0:02:59] a_hohlov: а в Haxe все так же нельзя переопределять геттеры/сеттеры у нативных флешовых классов?
[0:03:37] realyun1: только с потерей родного функционала )
[0:04:28] a_hohlov: а как?
[0:05:32] realyun1: http://haxe.org/manual/tips_and_tricks#flash-specific-metadata
[0:10:45] a_hohlov: отлично! мне вроде подходит
[0:11:21] a_hohlov: можно в переопределенных методах вызывать super.x например
[0:12:14] realyun1: Хз, где-то проскакивала инфа, что родные геттеры-сеттеры пропадают, когда таким образом их переопределяешь
[0:15:38] a_hohlov: не знаю, я только что у спрайта переопределил

@:setter(x) function setX(v:Float):Void
{
  super.x = v / 10;
}

и оно сработало

Да, это реально нужное

Да, это реально нужное изменение. Но есть небольшой момент - если вы разрабатываете кроссплатформу (openfl), то для остальных платформ нужно переопределять отдельно, например:

#if flash
@:setter(x) function set_x(value:Float):Void
{
        super.x = Math.round(value);
}
#else
override function set_x(value:Float):Float
{
        super.set_x(Math.round(value));
        return value;
}
#end

О как я ждал этого, раньше из

О как я ждал этого, раньше из таких методов не было доступа к super

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. The supported tag styles are: <foo>, [foo].
  • Use [gist:####] where #### is your gist number to embed the gist.

Подробнее о форматировании

CAPTCHA
Для отсева спамеров)
g
R
m
K
d
u
Enter the code without spaces and pay attention to upper/lower case.