В Dart область видимости (scope) определяется следующими механизмами:
- Область видимости на уровне файла (Library-level scope): Переменные, функции и классы, объявленные на верхнем уровне файла (не внутри класса или функции), видны во всем этом файле.
- Область видимости приватности (Private members): Члены класса (переменные, методы, геттеры, сеттеры), имена которых начинаются с символа подчеркивания (
_), являются приватными в пределах файла (библиотеки), в котором они объявлены. Доступ к ним возможен только из этого же файла.
- Область видимости на уровне класса (Class-level scope): Члены класса (переменные, методы и т.д.), не приватные, видны в пределах этого класса и во всех местах, где доступен экземпляр этого класса.
- Область видимости на уровне функционального блока (Function block scope): Переменные, объявленные внутри функции или блока кода (например,
if, for, while), видны только внутри этого блока.
Пример приватности:
dart