Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   модификаторы доступа: для кого они? влияют ли на память? (http://www.flasher.ru/forum/showthread.php?t=207563)

taras_ 23.04.2014 11:19

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

silin 23.04.2014 12:59

для прграммиста это, он и решает как ему структрировать код, чтоб иметь меньше гемороя
компилятор в этом смысле лишь средство контроля, не позволяющее ошибиться
ВМ играет по тем же правилам - доступ к приватным членам невозможен

про память не берусь сказать, но думаю, что если и отражается, то не настолько, чтоб об этом стоило всерьез думать

Akopalipsis 23.04.2014 14:05

Цитата:

Кто и на каком этапе решает кто кого (из моих классов) может увидеть, обратиться, дернуть за метод?
Приложение, состоящее из классов, это тело, в котором каждый орган отделен и находится на своем месте.
И вот чтобы не вылазило что-то, нужно скрывать все, что наруже не нужно.
Цитата:

Отражается ли это как-нибудь на используемой памяти во время исполнения?
Скорее всего да, но вот на сколько, можно только гадать. В худшем случаи время уйдет, как на оюращение к строковой константе ( как это сделано с namespace ), но отказавшись от модификатора доступа и не написав его, компилятор все равно его вставит - по умолчанию internal.

alexcon314 23.04.2014 14:24

Ошибочный вызов приватного метода в коде препятствует компиляции, возникает ошибка. Т.е. в нормально скомпиленной флешке такие вызовы просто невозможны. На этапе выполнения производится валидация байткода, но это немного другое. Никакого влияния на память public и private не оказывают. Тело метода в любом случае займет какое-то количество байт.


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

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