Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   protected static functon - зачем? (http://www.flasher.ru/forum/showthread.php?t=147908)

Котяра 17.12.2010 00:01

protected static functon - зачем?
 
Сегодня вникал в некий код и увидел там объявление
Код AS3:

protected static functon init..

Разве можно переопределить статическую функцию?

gloomyBrain 17.12.2010 00:02

Это чтобы ее видели только наследники. А вот это зачем - не знаю =)

etc 17.12.2010 01:43

Цитата:

Сообщение от gloomyBrain (Сообщение 957897)
Это чтобы ее видели только наследники. А вот это зачем - не знаю =)

Ну, на самом деле не такая уж и редкость.

dimarik 17.12.2010 01:58

Цитата:

Сообщение от Котяра (Сообщение 957895)
Разве можно переопределить статическую функцию?

Другими словами.
А разве модификатор protected указывает только на возможность переопределения?

Добавлено через 2 минуты
Цитата:

Сообщение от gloomyBrain (Сообщение 957897)
Это чтобы ее видели только наследники. А вот это зачем - не знаю =)

Вот же писал, что статики наследуются. А кто-то не верил.

gloomyBrain 17.12.2010 11:37

Ну, я исходил из этого (Wiki)
Цитата:

Насле́дование — ... [бла-бла-бла] ... свойства и функциональность родительского класса заимствуются новым классом.
Статические константы не становятся свойствами наследников. Они как были определены в родителе, так и остаются. protected просто делает их доступными только из наследников.

dimarik 17.12.2010 11:55

Цитата:

свойства и функциональность родительского класса заимствуются новым классом.
Правильно. И из наследника вполне можно воспользоваться функциональностью родителя. Я могу воспользоваться статическим методом родителя? Могу. Наследование? Наследование.

terbooter 17.12.2010 12:12

Основная цель здесь - ограничить область видимости

Котяра 17.12.2010 14:11

Ок. Понятно. Просто protected для меня уже стал синонимом maybeoverrided) Про видимости как-то упустил.

gloomyBrain 17.12.2010 15:34

Цитата:

Вот же писал, что статики наследуются. А кто-то не верил.
Я не верил в наследование статических переменных и констант =)

Psycho Tiger 17.12.2010 15:40

dimarik, я повторю свои идиотские слова, но скоуп наследуется. А наследование и наследование области видимости это для меня немного разные вещи.
Смотри, если я объявлю public static const A в классе Б и сделаю его суперклассом В (В extends Б), то при наследовании я обязан получить результат вызывая В.А. Однако этого не происходит. Отсюда я делаю вывод, что наследуется область видимости этой константы в пределах наследника и ничего более.


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

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