Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Странности наследования в as3 (http://www.flasher.ru/forum/showthread.php?t=196166)

caseyryan 20.03.2013 12:16

Странности наследования в as3
 
Никогда не задумывался над этим вопросом, но вот сегодня заметил такую странность, когда у класса нет явного суперкласса, он по идее, неявно наследуется от Object. IS-A тест на принадлежность к Object проходит нормально. Но! При этом нельзя использовать переопределение методов класса Object. В частности, если написать
Код AS3:

override public function toString():String {
        return "bla-bla";
}

Компилятор будет ругаться на недопустимое переопределение. Так что пишу просто
Код AS3:

public function toString():String {
        return "bla-bla";
}

и все работает.

Вопрос, почему так? Кто-нибудь в курсе с чем связано такое поведение?

udaaff 20.03.2013 12:21

Цитата:

Методы класса Object динамически создаются в прототипе Object. Чтобы переопределить этот метод в подклассе Object, не используйте ключевое слово override. Например, в подклассе Object вместо переопределения базового класса применяется function toString():String.
.....

caseyryan 20.03.2013 12:25

Понятно. Спасибо. Странно, что сам этого не нагуглил.

Zebestov 21.03.2013 21:17

Меня больше раздражает метод init, который всегда подсвечивается как переопределенный, хотя его нигде нет.

gloomyBrain 21.03.2013 21:30

Цитата:

всегда подсвечивается как переопределенный, хотя его нигде нет
Думаю, что пора тебе поставить нормальный редактор =)

Zebestov 21.03.2013 21:50

Чем уже FB плох )

caseyryan 21.03.2013 22:35

Вадим, пиши initialize() ;)

Zebestov 21.03.2013 22:51

Вот так просто сдаться? Аж бегом!

etc 22.03.2013 23:15

А у меня не подсвечивает.

Zebestov 22.03.2013 23:20

Код AS3:

public function init():void {}

Слева появляется зеленая стрелочка.


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

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