@trapce

Как работают константы в dart?

Здравствуйте. У меня есть такой код: "class Permission{
final String name;
const Permission(this.name);
}
class ReaderPermisssion extends Permission{
const ReaderPermisssion(String name):super(name);
static final ReaderPermisssion ALLOW_READ = const ReaderPermisssion("ALLOW_READ");

}
class AdminPermission extends Permission{
const AdminPermission(String name):super(name);
static final AdminPermission ALLOW_WRITE = const AdminPermission("ALLOW_WRITE");

}
main(){

}
"
----------------------------------------------------------
Объясните почему в константах поля: ALLOW_WRITE и ALLOW_READ, сами не содержатся?(Надеюсь вопрос понятен,т.е. почему нельзя ALLOW_WRITE.ALLOW_WRITE.ALLOW_WRITE...........)
Моя версия заключатся в том,что из-за static они в принципе не являются полями классов.
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@KnightForce
Я еле понял что ты хочешь.

cosnt - это константа времени компиляции.
То есть она сразу есть с apk.
В ALLOW_WRITE у тебя экземпляр класса AdminPermission. У него есть поле name, но нет поля ALLOW_WRITE.
Да и откуда ему взяться, это же значение для name.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Decimal Москва
от 200 000 до 400 000 ₽
Ctrlweb Ставрополь
от 160 000 до 200 000 ₽
САТЕЛ Нижний Новгород
от 160 000 ₽
25 апр. 2024, в 11:20
1000 руб./за проект
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект