Показать сообщение отдельно
Старый 12.12.2017, 18:51
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 13  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Сообщение от Appleman Посмотреть сообщение
У меня тогда наверное уже совсем наивный вопрос. А когда вообще уместно использование констант экземпляров и уместно ли? Получается, что если возникает необходимость что-нибудь "отлить в граните" даже для использования экземпляром, то проще и правильнее создать константу на уровне класса как статическую. Или нет?
Статические константы одни для всех экземпляров класса. Так как это константа (в английском их правда называют constant variable, и на эту тему я встречал некоторые пояснения, но не суть), значит ее значение не изменится 100%, поэтому нет никакого смысла создавать их на уровне экземпляров и бесполезно забивать ими оперативку многократно дублируя. Конечно по меркам современных, даже не компов, а телефонов, это капля в море, но все же, как по мне - это моветон и бессмыслица.

Ещё есть устверждение, что обращение к константам проиходит быстрее, чем к переменным. Я встречал такое на некоторых форумах, особенно по JS, где есть куча любителей использовать const вместо var или let там где это вообще возможно. Но как по мне, так это довольно сомнительное утверждение, и лично я использую константы всегда только как статики. А если бы в as3 были enum'ы, то использовал бы их
__________________
Ко мне можно и нужно обращаться на ты)