@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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы